[go: up one dir, main page]

Menu

Tree [7d60eb] master / src /
 History

HTTPS access


File Date Author Commit
 freetype 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 samplerate 2023-07-22 Malcolm McLean Malcolm McLean [302a21] Audio rate resampling added
 aifffile.c 2023-07-23 Malcolm McLean Malcolm McLean [0fadcb] AIFF and MP3 files support in
 aifffile.h 2023-07-23 Malcolm McLean Malcolm McLean [0fadcb] AIFF and MP3 files support in
 asciitostring.c 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 asciitostring.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 babyxrcmain.c 2023-07-31 Malcolm McLean Malcolm McLean [7d60eb] UTF-16 surroggate pairs support in
 bbx_utf8.c 2023-07-29 Malcolm McLean Malcolm McLean [f72411] utf16 tag in
 bbx_utf8.h 2023-07-29 Malcolm McLean Malcolm McLean [f72411] utf16 tag in
 bdf2c.c 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 bdf2c.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 bmp.c 2023-07-24 Malcolm McLean Malcolm McLean [2fb2f6] Bugs in BMP loader out
 bmp.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 compileme.txt 2023-07-22 Malcolm McLean Malcolm McLean [302a21] Audio rate resampling added
 gif.c 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 gif.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 jpeg.c 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 jpeg.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 libc.h 2023-07-23 Malcolm McLean Malcolm McLean [0fadcb] AIFF and MP3 files support in
 loadasutf8.c 2023-07-31 Malcolm McLean Malcolm McLean [7d60eb] UTF-16 surroggate pairs support in
 loadasutf8.h 2023-07-28 Malcolm McLean Malcolm McLean [e6bcd4] UTF-8 support in
 loadcursor.c 2016-08-27 Malcolm McLean Malcolm McLean [f35fe6] warnings out, bilerp now in float intermediates
 loadcursor.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 loadimage.c 2016-08-31 Malcolm McLean Malcolm McLean [3f95f6] warnings suppressed and minor resize bug out
 loadimage.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 loadmp3.c 2023-07-23 Malcolm McLean Malcolm McLean [0fadcb] AIFF and MP3 files support in
 loadmp3.h 2023-07-23 Malcolm McLean Malcolm McLean [0fadcb] AIFF and MP3 files support in
 loadtiff.c 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 loadtiff.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 lodepng.c 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 lodepng.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 minimp3.c 2023-07-23 Malcolm McLean Malcolm McLean [0fadcb] AIFF and MP3 files support in
 minimp3.h 2023-07-23 Malcolm McLean Malcolm McLean [0fadcb] AIFF and MP3 files support in
 nanosvg.h 2023-07-22 Malcolm McLean Malcolm McLean [dbc010] Warnings suppressed
 nanosvgrast.h 2023-07-22 Malcolm McLean Malcolm McLean [dbc010] Warnings suppressed
 rbtree.c 2016-08-31 Malcolm McLean Malcolm McLean [3f95f6] warnings suppressed and minor resize bug out
 rbtree.h 2023-07-22 Malcolm McLean Malcolm McLean [dbc010] Warnings suppressed
 readme.txt 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 resize.c 2016-10-12 Malcolm McLean Malcolm McLean [a0d09d] artifact on right bug out
 resize.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 savejpeg.c 2016-08-31 Malcolm McLean Malcolm McLean [3f95f6] warnings suppressed and minor resize bug out
 text_encoding_detect.c 2023-07-28 Malcolm McLean Malcolm McLean [e6bcd4] UTF-8 support in
 text_encoding_detect.h 2023-07-28 Malcolm McLean Malcolm McLean [e6bcd4] UTF-8 support in
 ttf2c.c 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 ttf2c.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...
 wavfile.c 2023-07-22 Malcolm McLean Malcolm McLean [dbc010] Warnings suppressed
 wavfile.h 2023-07-21 Malcolm McLean Malcolm McLean [5955e7] Audio support in
 xmlparser.c 2023-07-22 Malcolm McLean Malcolm McLean [dbc010] Warnings suppressed
 xmlparser.h 2016-08-27 Malcolm McLean Malcolm McLean [e628ac] Added Visual Studio project and rearranged, min...

Read Me

This is the Baby X resource compiler.

It is designed to take resources - images, fonts, strings and so
on - and package them up as compileable C source. So you include
the source in your project.

It takes a simple definition file which lists the resources. The 
path will be relative to where you evoke the resource compiler.

<BabyXRC>
<font src = "Skater Girls Rock.ttf", name = "skatergirls", points = "20"> </font> 
<image src = "valST.GIF", name = "valineST", width = "52", height = "44"> </image>
<cursor src ="yellow_smiley.cur", name ="yellowsmiley_cur"> </cursor>
</BabyXRC> 

That's essentially it. It can load bmp, jpeg, gif, png, tiff and svg images. 
It automatically rescales them if required. The output is a 32 bit rgba
buffer.
Cursors are .cur file. They're essentially the same as images, but with
a hotpoint defined.
You can also package up text and binaries. Code to resample audio files
is in, but not tested yet.

Fonts are converted to a raster format that is simple to write to a
display. 

#ifndef font_h
#define font_h

/* bitmap font structure */
struct bitmap_font {
  unsigned char width;		/* max. character width */
  unsigned char height;		/* character height */
  int ascent;		        /* font ascent */
  int descent;		        /* font descent */
  unsigned short Nchars;        /* number of characters in font */
  unsigned char *widths;	/* width of each character */
  unsigned short *index;	/* encoding to character index */
  unsigned char *bitmap;	/* bitmap of all characters */
};

struct bitmap_font vera12_font = 
{
20, /* max width */
19, /* height */
15, /* ascent */
4, /* descent */
257, /* Nchars */
vera12_widths, /* widths */
vera12_index, /* index */
vera12_bitmap /* bitmap */
};

The bitmap is an alpha map / greyscale, depending how you wish to think of it.
The characters are in cells width * height, and right padded. To get from
unicode to the internal index, do a binary search on the index member. 
You then read off the width, and index into the bitmap 

unsigned char *cell  = ptr->bitmamp + ptr->width * ptr->height * index;
 
The program is free for any use, but please respect the copyright licences
of the components.