\ This file has been generated using SWIG and fsi,
\ and is already platform dependent, search for the corresponding
\ fsi-file to compile it where no one has compiled it before ;)
\ GForth has its own dynamic loader and doesn't need addional C-Code.
\ That's why this file contains normal Gforth-code( version 0.6.9 or higher )
\ and could be used directly with include or require.
\ As all comments are stripped during the compilation, please
\ insert the copyright notice of the original file here.

\ --------===< enums >===---------
0	constant TEXTURE_FONT_FILE
1	constant TEXTURE_FONT_MEMORY

\ -------===< structs >===--------
\ ivec4
begin-structure ivec4
	drop 12 4 +field ivec4-w
	drop 4 4 +field ivec4-g
	drop 0 4 +field ivec4-x
	drop 4 4 +field ivec4-y
	drop 12 4 +field ivec4-height
	drop 8 4 +field ivec4-z
	drop 12 4 +field ivec4-icount
	drop 0 4 +field ivec4-vstart
	drop 12 4 +field ivec4-alpha
	drop 4 4 +field ivec4-y_
	drop 0 4 +field ivec4-x_
	drop 8 4 +field ivec4-blue
	drop 8 4 +field ivec4-width
	drop 4 4 +field ivec4-green
	drop 12 4 +field ivec4-a
	drop 0 4 +field ivec4-r
	drop 4 4 +field ivec4-vcount
	drop 8 4 +field ivec4-istart
	drop 8 4 +field ivec4-b
	drop 0 4 +field ivec4-red
	drop 0 16 +field ivec4-data
drop 16 end-structure
\ ivec3
begin-structure ivec3
	drop 8 4 +field ivec3-b
	drop 0 12 +field ivec3-data
	drop 0 4 +field ivec3-x
	drop 8 4 +field ivec3-blue
	drop 4 4 +field ivec3-y
	drop 0 4 +field ivec3-r
	drop 8 4 +field ivec3-z
	drop 4 4 +field ivec3-green
	drop 0 4 +field ivec3-red
	drop 4 4 +field ivec3-g
drop 12 end-structure
\ ivec2
begin-structure ivec2
	drop 4 4 +field ivec2-end
	drop 0 8 +field ivec2-data
	drop 0 4 +field ivec2-x
	drop 4 4 +field ivec2-y
	drop 0 4 +field ivec2-s
	drop 4 4 +field ivec2-t
	drop 0 4 +field ivec2-start
drop 8 end-structure
\ vec4
begin-structure vec4
	drop 12 4 +field vec4-w
	drop 4 4 +field vec4-g
	drop 0 4 +field vec4-x
	drop 4 4 +field vec4-y
	drop 12 4 +field vec4-height
	drop 8 4 +field vec4-z
	drop 12 4 +field vec4-alpha
	drop 4 4 +field vec4-y_
	drop 0 4 +field vec4-x_
	drop 8 4 +field vec4-blue
	drop 8 4 +field vec4-width
	drop 4 4 +field vec4-green
	drop 12 4 +field vec4-a
	drop 0 4 +field vec4-r
	drop 8 4 +field vec4-b
	drop 0 4 +field vec4-red
	drop 0 16 +field vec4-data
drop 16 end-structure
\ vec3
begin-structure vec3
	drop 8 4 +field vec3-b
	drop 0 12 +field vec3-data
	drop 0 4 +field vec3-x
	drop 8 4 +field vec3-blue
	drop 4 4 +field vec3-y
	drop 0 4 +field vec3-r
	drop 8 4 +field vec3-z
	drop 4 4 +field vec3-green
	drop 0 4 +field vec3-red
	drop 4 4 +field vec3-g
drop 12 end-structure
\ vec2
begin-structure vec2
	drop 0 8 +field vec2-data
	drop 0 4 +field vec2-x
	drop 4 4 +field vec2-y
	drop 0 4 +field vec2-s
	drop 4 4 +field vec2-t
drop 8 end-structure
\ vector_t
begin-structure vector_t
	drop 0 8 +field vector_t-items
	drop 16 8 +field vector_t-size
	drop 24 8 +field vector_t-item_size
	drop 8 8 +field vector_t-capacity
drop 32 end-structure
\ texture_atlas_t
begin-structure texture_atlas_t
	drop 48 8 +field texture_atlas_t-data
	drop 40 4 +field texture_atlas_t-id
	drop 0 8 +field texture_atlas_t-nodes
	drop 16 8 +field texture_atlas_t-height
	drop 32 8 +field texture_atlas_t-used
	drop 8 8 +field texture_atlas_t-width
	drop 24 8 +field texture_atlas_t-depth
drop 56 end-structure
\ kerning_t
begin-structure kerning_t
	drop 0 4 +field kerning_t-charcode
	drop 4 4 +field kerning_t-kerning
drop 8 end-structure
\ texture_glyph_t
begin-structure texture_glyph_t
	drop 16 8 +field texture_glyph_t-height
	drop 44 4 +field texture_glyph_t-t0
	drop 52 4 +field texture_glyph_t-t1
	drop 40 4 +field texture_glyph_t-s0
	drop 68 4 +field texture_glyph_t-outline_thickness
	drop 48 4 +field texture_glyph_t-s1
	drop 24 4 +field texture_glyph_t-offset_x
	drop 28 4 +field texture_glyph_t-offset_y
	drop 64 4 +field texture_glyph_t-outline_type
	drop 32 4 +field texture_glyph_t-advance_x
	drop 36 4 +field texture_glyph_t-advance_y
	drop 4 4 +field texture_glyph_t-id
	drop 8 8 +field texture_glyph_t-width
	drop 0 4 +field texture_glyph_t-charcode
	drop 56 8 +field texture_glyph_t-kerning
drop 72 end-structure
\ texture_font_t
begin-structure texture_font_t
	drop 80 4 +field texture_font_t-ascender
	drop 84 4 +field texture_font_t-descender
	drop 72 4 +field texture_font_t-height
	drop 40 4 +field texture_font_t-size
	drop 16 4 +field texture_font_t-location
	drop 0 8 +field texture_font_t-glyphs
	drop 76 4 +field texture_font_t-linegap
	drop 52 4 +field texture_font_t-outline_thickness
	drop 92 4 +field texture_font_t-underline_thickness
	drop 56 4 +field texture_font_t-filtering
	drop 48 4 +field texture_font_t-outline_type
	drop 8 8 +field texture_font_t-atlas
	drop 64 5 +field texture_font_t-lcd_weights
	drop 44 4 +field texture_font_t-hinting
	drop 88 4 +field texture_font_t-underline_position
	drop 24 8 +field texture_font_t-filename
	drop 24 16 +field texture_font_t-memory
	drop 60 4 +field texture_font_t-kerning
drop 96 end-structure

\ ------===< functions >===-------
c-function vector_new vector_new n -- a
c-function vector_delete vector_delete a -- void
c-function vector_get vector_get a n -- a
c-function vector_front vector_front a -- a
c-function vector_back vector_back a -- a
c-function vector_contains vector_contains a a a -- n
c-function vector_empty vector_empty a -- n
c-function vector_size vector_size a -- n
c-function vector_reserve vector_reserve a n -- void
c-function vector_capacity vector_capacity a -- n
c-function vector_shrink vector_shrink a -- void
c-function vector_clear vector_clear a -- void
c-function vector_set vector_set a n a -- void
c-function vector_erase vector_erase a n -- void
c-function vector_erase_range vector_erase_range a n n -- void
c-function vector_push_back vector_push_back a a -- void
c-function vector_pop_back vector_pop_back a -- void
c-function vector_resize vector_resize a n -- void
c-function vector_insert vector_insert a n a -- void
c-function vector_insert_data vector_insert_data a n a n -- void
c-function vector_push_back_data vector_push_back_data a a n -- void
c-function vector_sort vector_sort a a -- void
c-function texture_atlas_new texture_atlas_new n n n -- a
c-function texture_atlas_delete texture_atlas_delete a -- void
c-function texture_atlas_upload texture_atlas_upload a -- void
\c #define texture_atlas_get_regionp(self, w, h, x) { ivec4* _x=x; *_x=texture_atlas_get_region(self,w,h); }
c-function texture_atlas_get_region texture_atlas_get_regionp a n n a -- void
c-function texture_atlas_set_region texture_atlas_set_region a n n n n a n -- void
c-function texture_atlas_clear texture_atlas_clear a -- void
c-function texture_font_new_from_file texture_font_new_from_file a r s -- a
c-function texture_font_new_from_memory texture_font_new_from_memory a r a n -- a
c-function texture_font_delete texture_font_delete a -- void
c-function texture_font_get_glyph texture_font_get_glyph a n -- a
c-function texture_font_load_glyphs texture_font_load_glyphs a ws -- n
c-function texture_glyph_get_kerning texture_glyph_get_kerning a n -- r
c-function texture_glyph_new texture_glyph_new  -- a
