From 488cae49766ecb1a3709ee3d69554e90349b2ba1 Mon Sep 17 00:00:00 2001 From: Crayon2000 Date: Sun, 5 Jul 2020 03:37:29 +0000 Subject: [PATCH] Deploy to GitHub Pages --- .nojekyll | 0 PDF-documentation.pdf | Bin 0 -> 327800 bytes _g_r_r_l_i_b____inline_8h.html | 178 + _g_r_r_l_i_b____lib_8h.html | 290 + annotated.html | 83 + bc_s.png | Bin 0 -> 676 bytes bdwn.png | Bin 0 -> 147 bytes classes.html | 83 + closed.png | Bin 0 -> 132 bytes dir_31622c108de77de59a32254ac003cf08.html | 88 + doc.png | Bin 0 -> 746 bytes doxygen.css | 1596 ++++++ doxygen.png | Bin 0 -> 3779 bytes dynsections.js | 97 + examples.html | 78 + files.html | 81 + folderclosed.png | Bin 0 -> 616 bytes folderopen.png | Bin 0 -> 597 bytes functions.html | 222 + functions_vars.html | 222 + globals.html | 422 ++ globals_defs.html | 99 + globals_enum.html | 75 + globals_eval.html | 87 + globals_func.html | 347 ++ globals_type.html | 90 + globals_vars.html | 75 + group___all_func.html | 4679 +++++++++++++++++ grrlib_8h.html | 207 + grrlib_logo.png | Bin 0 -> 46936 bytes index.html | 97 + jquery.js | 87 + ...l_i_b__g_r_r_l_i_b__c_h_a_n_g_e_l_o_g.html | 184 + ...r_r_l_i_b__g_r_r_l_i_b__l_i_c_e_n_c_e.html | 78 + menu.js | 26 + menudata.js | 55 + modules.html | 79 + nav_f.png | Bin 0 -> 153 bytes nav_g.png | Bin 0 -> 95 bytes nav_h.png | Bin 0 -> 98 bytes open.png | Bin 0 -> 123 bytes pages.html | 80 + search/all_0.html | 26 + search/all_0.js | 5 + search/all_1.html | 26 + search/all_1.js | 5 + search/all_10.html | 26 + search/all_10.js | 5 + search/all_2.html | 26 + search/all_2.js | 5 + search/all_3.html | 26 + search/all_3.js | 4 + search/all_4.html | 26 + search/all_4.js | 4 + search/all_5.html | 26 + search/all_5.js | 4 + search/all_6.html | 26 + search/all_6.js | 115 + search/all_7.html | 26 + search/all_7.js | 7 + search/all_8.html | 26 + search/all_8.js | 4 + search/all_9.html | 26 + search/all_9.js | 5 + search/all_a.html | 26 + search/all_a.js | 7 + search/all_b.html | 26 + search/all_b.js | 7 + search/all_c.html | 26 + search/all_c.js | 4 + search/all_d.html | 26 + search/all_d.js | 8 + search/all_e.html | 26 + search/all_e.js | 8 + search/all_f.html | 26 + search/all_f.js | 4 + search/classes_0.html | 26 + search/classes_0.js | 8 + search/close.png | Bin 0 -> 273 bytes search/enums_0.html | 26 + search/enums_0.js | 4 + search/enumvalues_0.html | 26 + search/enumvalues_0.js | 8 + search/files_0.html | 26 + search/files_0.js | 6 + search/functions_0.html | 26 + search/functions_0.js | 94 + search/groups_0.html | 26 + search/groups_0.js | 4 + search/mag_sel.png | Bin 0 -> 563 bytes search/nomatches.html | 12 + search/pages_0.html | 26 + search/pages_0.js | 4 + search/pages_1.html | 26 + search/pages_1.js | 4 + search/pages_2.html | 26 + search/pages_2.js | 4 + search/search.css | 271 + search/search.js | 791 +++ search/search_l.png | Bin 0 -> 604 bytes search/search_m.png | Bin 0 -> 158 bytes search/search_r.png | Bin 0 -> 612 bytes search/searchdata.js | 42 + search/typedefs_0.html | 26 + search/typedefs_0.js | 9 + search/variables_0.html | 26 + search/variables_0.js | 4 + search/variables_1.html | 26 + search/variables_1.js | 4 + search/variables_2.html | 26 + search/variables_2.js | 4 + search/variables_3.html | 26 + search/variables_3.js | 4 + search/variables_4.html | 26 + search/variables_4.js | 4 + search/variables_5.html | 26 + search/variables_5.js | 7 + search/variables_6.html | 26 + search/variables_6.js | 4 + search/variables_7.html | 26 + search/variables_7.js | 4 + search/variables_8.html | 26 + search/variables_8.js | 7 + search/variables_9.html | 26 + search/variables_9.js | 7 + search/variables_a.html | 26 + search/variables_a.js | 4 + search/variables_b.html | 26 + search/variables_b.js | 6 + search/variables_c.html | 26 + search/variables_c.js | 8 + search/variables_d.html | 26 + search/variables_d.js | 4 + search/variables_e.html | 26 + search/variables_e.js | 5 + splitbar.png | Bin 0 -> 314 bytes struct_g_r_r_l_i_b___font.html | 129 + struct_g_r_r_l_i_b__bytemap_char.html | 205 + struct_g_r_r_l_i_b__bytemap_font.html | 213 + ...g_r_r_l_i_b__bytemap_font__coll__graph.map | 3 + ...g_r_r_l_i_b__bytemap_font__coll__graph.md5 | 1 + ...g_r_r_l_i_b__bytemap_font__coll__graph.png | Bin 0 -> 4331 bytes struct_g_r_r_l_i_b__draw_settings.html | 148 + struct_g_r_r_l_i_b__tex_img.html | 376 ++ sync_off.png | Bin 0 -> 853 bytes sync_on.png | Bin 0 -> 845 bytes tab_a.png | Bin 0 -> 142 bytes tab_b.png | Bin 0 -> 169 bytes tab_h.png | Bin 0 -> 177 bytes tab_s.png | Bin 0 -> 184 bytes tabs.css | 1 + template_2source_2main_8c-example.html | 75 + 152 files changed, 13566 insertions(+) create mode 100644 .nojekyll create mode 100644 PDF-documentation.pdf create mode 100644 _g_r_r_l_i_b____inline_8h.html create mode 100644 _g_r_r_l_i_b____lib_8h.html create mode 100644 annotated.html create mode 100644 bc_s.png create mode 100644 bdwn.png create mode 100644 classes.html create mode 100644 closed.png create mode 100644 dir_31622c108de77de59a32254ac003cf08.html create mode 100644 doc.png create mode 100644 doxygen.css create mode 100644 doxygen.png create mode 100644 dynsections.js create mode 100644 examples.html create mode 100644 files.html create mode 100644 folderclosed.png create mode 100644 folderopen.png create mode 100644 functions.html create mode 100644 functions_vars.html create mode 100644 globals.html create mode 100644 globals_defs.html create mode 100644 globals_enum.html create mode 100644 globals_eval.html create mode 100644 globals_func.html create mode 100644 globals_type.html create mode 100644 globals_vars.html create mode 100644 group___all_func.html create mode 100644 grrlib_8h.html create mode 100644 grrlib_logo.png create mode 100644 index.html create mode 100644 jquery.js create mode 100644 md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__c_h_a_n_g_e_l_o_g.html create mode 100644 md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__l_i_c_e_n_c_e.html create mode 100644 menu.js create mode 100644 menudata.js create mode 100644 modules.html create mode 100644 nav_f.png create mode 100644 nav_g.png create mode 100644 nav_h.png create mode 100644 open.png create mode 100644 pages.html create mode 100644 search/all_0.html create mode 100644 search/all_0.js create mode 100644 search/all_1.html create mode 100644 search/all_1.js create mode 100644 search/all_10.html create mode 100644 search/all_10.js create mode 100644 search/all_2.html create mode 100644 search/all_2.js create mode 100644 search/all_3.html create mode 100644 search/all_3.js create mode 100644 search/all_4.html create mode 100644 search/all_4.js create mode 100644 search/all_5.html create mode 100644 search/all_5.js create mode 100644 search/all_6.html create mode 100644 search/all_6.js create mode 100644 search/all_7.html create mode 100644 search/all_7.js create mode 100644 search/all_8.html create mode 100644 search/all_8.js create mode 100644 search/all_9.html create mode 100644 search/all_9.js create mode 100644 search/all_a.html create mode 100644 search/all_a.js create mode 100644 search/all_b.html create mode 100644 search/all_b.js create mode 100644 search/all_c.html create mode 100644 search/all_c.js create mode 100644 search/all_d.html create mode 100644 search/all_d.js create mode 100644 search/all_e.html create mode 100644 search/all_e.js create mode 100644 search/all_f.html create mode 100644 search/all_f.js create mode 100644 search/classes_0.html create mode 100644 search/classes_0.js create mode 100644 search/close.png create mode 100644 search/enums_0.html create mode 100644 search/enums_0.js create mode 100644 search/enumvalues_0.html create mode 100644 search/enumvalues_0.js create mode 100644 search/files_0.html create mode 100644 search/files_0.js create mode 100644 search/functions_0.html create mode 100644 search/functions_0.js create mode 100644 search/groups_0.html create mode 100644 search/groups_0.js create mode 100644 search/mag_sel.png create mode 100644 search/nomatches.html create mode 100644 search/pages_0.html create mode 100644 search/pages_0.js create mode 100644 search/pages_1.html create mode 100644 search/pages_1.js create mode 100644 search/pages_2.html create mode 100644 search/pages_2.js create mode 100644 search/search.css create mode 100644 search/search.js create mode 100644 search/search_l.png create mode 100644 search/search_m.png create mode 100644 search/search_r.png create mode 100644 search/searchdata.js create mode 100644 search/typedefs_0.html create mode 100644 search/typedefs_0.js create mode 100644 search/variables_0.html create mode 100644 search/variables_0.js create mode 100644 search/variables_1.html create mode 100644 search/variables_1.js create mode 100644 search/variables_2.html create mode 100644 search/variables_2.js create mode 100644 search/variables_3.html create mode 100644 search/variables_3.js create mode 100644 search/variables_4.html create mode 100644 search/variables_4.js create mode 100644 search/variables_5.html create mode 100644 search/variables_5.js create mode 100644 search/variables_6.html create mode 100644 search/variables_6.js create mode 100644 search/variables_7.html create mode 100644 search/variables_7.js create mode 100644 search/variables_8.html create mode 100644 search/variables_8.js create mode 100644 search/variables_9.html create mode 100644 search/variables_9.js create mode 100644 search/variables_a.html create mode 100644 search/variables_a.js create mode 100644 search/variables_b.html create mode 100644 search/variables_b.js create mode 100644 search/variables_c.html create mode 100644 search/variables_c.js create mode 100644 search/variables_d.html create mode 100644 search/variables_d.js create mode 100644 search/variables_e.html create mode 100644 search/variables_e.js create mode 100644 splitbar.png create mode 100644 struct_g_r_r_l_i_b___font.html create mode 100644 struct_g_r_r_l_i_b__bytemap_char.html create mode 100644 struct_g_r_r_l_i_b__bytemap_font.html create mode 100644 struct_g_r_r_l_i_b__bytemap_font__coll__graph.map create mode 100644 struct_g_r_r_l_i_b__bytemap_font__coll__graph.md5 create mode 100644 struct_g_r_r_l_i_b__bytemap_font__coll__graph.png create mode 100644 struct_g_r_r_l_i_b__draw_settings.html create mode 100644 struct_g_r_r_l_i_b__tex_img.html create mode 100644 sync_off.png create mode 100644 sync_on.png create mode 100644 tab_a.png create mode 100644 tab_b.png create mode 100644 tab_h.png create mode 100644 tab_s.png create mode 100644 tabs.css create mode 100644 template_2source_2main_8c-example.html diff --git a/.nojekyll b/.nojekyll new file mode 100644 index 0000000..e69de29 diff --git a/PDF-documentation.pdf b/PDF-documentation.pdf new file mode 100644 index 0000000000000000000000000000000000000000..49b4694a704e4bceaaa62251a19875710010ad6f GIT binary patch literal 327800 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

Z`Vno-HGd%WM(x1zV^Ly%Ql1(dS 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 + + + + + + +GRRLIB: GRRLIB__inline.h File Reference + + + + + + + + + +

+
+ +
+
GRRLIB__inline.h File Reference
+
+
+ +

GRRLIB inline function prototypes. +More...

+
#include <grrlib/GRRLIB_clipping.h>
+#include <grrlib/GRRLIB_collision.h>
+#include <grrlib/GRRLIB_fbComplex.h>
+#include <grrlib/GRRLIB_fbGX.h>
+#include <grrlib/GRRLIB_fbSimple.h>
+#include <grrlib/GRRLIB_handle.h>
+#include <grrlib/GRRLIB_pixel.h>
+#include <grrlib/GRRLIB_settings.h>
+#include <grrlib/GRRLIB_texSetup.h>
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+INLINE void GRRLIB_ClipReset (void)
 Reset the clipping to normal.
 
INLINE void GRRLIB_ClipDrawing (const int x, const int y, const int width, const int height)
 Clip the drawing area to an rectangle. More...
 
INLINE bool GRRLIB_PtInRect (const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady)
 Determine whether the specified point lies within the specified rectangle. More...
 
INLINE bool GRRLIB_RectInRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a specified rectangle lies within another rectangle. More...
 
INLINE bool GRRLIB_RectOnRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a part of a specified rectangle lies on another rectangle. More...
 
INLINE void GRRLIB_NPlot (const guVector v[], const u32 color[], const long n)
 Draw an array of points. More...
 
INLINE void GRRLIB_NGone (const guVector v[], const u32 color[], const long n)
 Draw a polygon. More...
 
INLINE void GRRLIB_NGoneFilled (const guVector v[], const u32 color[], const long n)
 Draw a filled polygon. More...
 
INLINE void GRRLIB_GXEngine (const guVector v[], const u32 color[], const long n, const u8 fmt)
 Draws a vector. More...
 
INLINE void GRRLIB_FillScreen (const u32 color)
 Clear screen with a specific color. More...
 
INLINE void GRRLIB_Plot (const f32 x, const f32 y, const u32 color)
 Draw a dot. More...
 
INLINE void GRRLIB_Line (const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color)
 Draw a line. More...
 
INLINE void GRRLIB_Rectangle (const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled)
 Draw a rectangle. More...
 
INLINE void GRRLIB_SetHandle (GRRLIB_texImg *tex, const int x, const int y)
 Set a texture's X and Y handles. More...
 
INLINE void GRRLIB_SetMidHandle (GRRLIB_texImg *tex, const bool enabled)
 Center a texture's handles. More...
 
INLINE u32 GRRLIB_GetPixelFromtexImg (const int x, const int y, const GRRLIB_texImg *tex)
 Return the color value of a pixel from a GRRLIB_texImg. More...
 
INLINE void GRRLIB_SetPixelTotexImg (const int x, const int y, GRRLIB_texImg *tex, const u32 color)
 Set the color value of a pixel to a GRRLIB_texImg. More...
 
INLINE u32 GRRLIB_GetPixelFromFB (int x, int y)
 Reads a pixel directly from the FrontBuffer. More...
 
INLINE void GRRLIB_SetPixelToFB (int x, int y, u32 pokeColor)
 Writes a pixel directly from the FrontBuffer. More...
 
INLINE void GRRLIB_SetBlend (const GRRLIB_blendMode blendmode)
 Set a blending mode. More...
 
INLINE GRRLIB_blendMode GRRLIB_GetBlend (void)
 Get the current blending mode. More...
 
INLINE void GRRLIB_SetAntiAliasing (const bool aa)
 Turn anti-aliasing on/off. More...
 
INLINE bool GRRLIB_GetAntiAliasing (void)
 Get current anti-aliasing setting. More...
 
INLINE void GRRLIB_ClearTex (GRRLIB_texImg *tex)
 Clear a texture to transparent black. More...
 
INLINE void GRRLIB_FlushTex (GRRLIB_texImg *tex)
 Write the contents of a texture in the data cache down to main memory. More...
 
INLINE void GRRLIB_FreeTexture (GRRLIB_texImg *tex)
 Free memory allocated for texture. More...
 
+

Detailed Description

+

GRRLIB inline function prototypes.

+

Do not include GRRLIB__inline.h directly, include only GRRLIB.h.

+
+ + + + diff --git a/_g_r_r_l_i_b____lib_8h.html b/_g_r_r_l_i_b____lib_8h.html new file mode 100644 index 0000000..3b6bdb0 --- /dev/null +++ b/_g_r_r_l_i_b____lib_8h.html @@ -0,0 +1,290 @@ + + + + + + + +GRRLIB: GRRLIB__lib.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+ +
+
GRRLIB__lib.h File Reference
+
+
+ +

GRRLIB library function prototypes. +More...

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

GRRLIB_bytemapFontGRRLIB_LoadBMF (const u8 my_bmf[])
 Load a ByteMap font structure from a buffer. More...
 
void GRRLIB_FreeBMF (GRRLIB_bytemapFont *bmf)
 Free memory allocated by ByteMap fonts. More...
 
void GRRLIB_InitTileSet (GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart)
 Initialize a tile set. More...
 
void GRRLIB_BMFX_FlipH (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture horizontal. More...
 
void GRRLIB_BMFX_FlipV (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture vertical. More...
 
void GRRLIB_BMFX_Grayscale (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to gray scale. More...
 
void GRRLIB_BMFX_Sepia (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to sepia (old photo style). More...
 
void GRRLIB_BMFX_Invert (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Invert colors of the texture. More...
 
void GRRLIB_BMFX_Blur (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Blur). More...
 
void GRRLIB_BMFX_Scatter (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Scatter). More...
 
void GRRLIB_BMFX_Pixelate (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Pixelate). More...
 
int GRRLIB_Init (void)
 Initialize GRRLIB. More...
 
void GRRLIB_Exit (void)
 Call this before exiting your application. More...
 
void GRRLIB_Circle (const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled)
 Draw a circle. More...
 
int GRRLIB_LoadFile (const char *filename, u8 **data)
 Load a file to memory. More...
 
GRRLIB_texImgGRRLIB_LoadTextureFromFile (const char *filename)
 Load a texture from a file. More...
 
bool GRRLIB_ScrShot (const char *filename)
 Make a PNG screenshot. More...
 
void GRRLIB_Printf (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...)
 Print formatted output. More...
 
void GRRLIB_PrintBMF (const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...)
 Print formatted output with a ByteMap font. More...
 
void GRRLIB_DrawImg (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a texture. More...
 
void GRRLIB_DrawImgQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color)
 Draw a textured quad. More...
 
void GRRLIB_DrawTile (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame)
 Draw a tile. More...
 
void GRRLIB_DrawPart (const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a part of a texture. More...
 
void GRRLIB_DrawTileQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame)
 Draw a tile in a quad. More...
 
+void GRRLIB_Render (void)
 Call this function after drawing.
 
void GRRLIB_Screen2Texture (int posx, int posy, GRRLIB_texImg *tex, bool clear)
 Make a snapshot of the screen in a texture WITHOUT ALPHA LAYER. More...
 
void GRRLIB_CompoStart (void)
 Start GX compositing process. More...
 
void GRRLIB_CompoEnd (int posx, int posy, GRRLIB_texImg *tex)
 End GX compositing process (Make a snapshot of the screen in a texture WITH ALPHA LAYER). More...
 
GRRLIB_texImgGRRLIB_CreateEmptyTexture (const u32 w, const u32 h)
 Create an empty texture. More...
 
GRRLIB_texImgGRRLIB_LoadTexture (const u8 *my_img)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTexturePNG (const u8 *my_png)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTextureJPG (const u8 *my_jpg)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTextureJPGEx (const u8 *my_jpg, const int)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTextureBMP (const u8 *my_bmp)
 Load a texture from a buffer. More...
 
bool GRRLIB_GeckoInit ()
 Initialize USB Gecko. More...
 
void GRRLIB_GeckoPrintf (const char *text,...)
 Print Gecko. More...
 
void GRRLIB_SetBackgroundColour (u8 r, u8 g, u8 b, u8 a)
 Set the background parameter when screen is cleared. More...
 
void GRRLIB_Camera3dSettings (f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz)
 Set the camera parameter (contributed my chris_c aka DaShAmAn). More...
 
void GRRLIB_3dMode (f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode)
 Set up the position matrix (contributed by chris_c aka DaShAmAn). More...
 
+void GRRLIB_2dMode ()
 Go back to 2D mode (contributed by chris_c aka DaShAmAn).
 
+void GRRLIB_ObjectViewBegin (void)
 Init the object matrix to draw object.
 
void GRRLIB_ObjectViewScale (f32 scalx, f32 scaly, f32 scalz)
 Scale the object matrix to draw object. More...
 
void GRRLIB_ObjectViewRotate (f32 angx, f32 angy, f32 angz)
 Rotate the object matrix to draw object . More...
 
void GRRLIB_ObjectViewTrans (f32 posx, f32 posy, f32 posz)
 Translate the object matrix to draw object. More...
 
+void GRRLIB_ObjectViewEnd (void)
 Concat the object and the view matrix and calculate the inverse normal matrix.
 
void GRRLIB_ObjectView (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, rotate AND trans). More...
 
void GRRLIB_ObjectViewInv (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, trans AND rotate). More...
 
void GRRLIB_SetTexture (GRRLIB_texImg *tex, bool rep)
 Set the texture to an object (contributed by chris_c aka DaShAmAn). More...
 
void GRRLIB_DrawTorus (f32 r, f32 R, int nsides, int rings, bool filled, u32 col)
 Draw a torus (with normal). More...
 
void GRRLIB_DrawSphere (f32 r, int lats, int longs, bool filled, u32 col)
 Draw a sphere (with normal). More...
 
void GRRLIB_DrawCube (f32 size, bool filled, u32 col)
 Draw a cube (with normal). More...
 
void GRRLIB_DrawCylinder (f32 r, f32 h, int d, bool filled, u32 col)
 Draw a cylinder (with normal). More...
 
void GRRLIB_DrawCone (f32 r, f32 h, int d, bool filled, u32 col)
 Draw a cone (with normal). More...
 
void GRRLIB_DrawTessPanel (f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col)
 Draw a Tesselated panel (with normal). More...
 
void GRRLIB_SetLightAmbient (u32 ambientcolor)
 Set ambient color. More...
 
void GRRLIB_SetLightDiff (u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor)
 Set diffuse light parameters. More...
 
void GRRLIB_SetLightSpec (u8 num, guVector dir, f32 shy, u32 lightcolor, u32 speccolor)
 Set specular light parameters. More...
 
void GRRLIB_SetLightSpot (u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor)
 Set Spot light parameters. More...
 
+void GRRLIB_SetLightOff (void)
 Set all lights off, like at init.
 
GRRLIB_ttfFontGRRLIB_LoadTTF (const u8 *file_base, s32 file_size)
 Load a TTF from a buffer. More...
 
void GRRLIB_FreeTTF (GRRLIB_ttfFont *myFont)
 Free memory allocated by TTF fonts. More...
 
void GRRLIB_PrintfTTF (int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color)
 Print function for TTF font. More...
 
void GRRLIB_PrintfTTFW (int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color)
 Print function for TTF font. More...
 
u32 GRRLIB_WidthTTF (GRRLIB_ttfFont *myFont, const char *, unsigned int)
 Get the width of a text in pixel. More...
 
u32 GRRLIB_WidthTTFW (GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int)
 Get the width of a text in pixel. More...
 
+

Detailed Description

+

GRRLIB library function prototypes.

+

Do not include GRRLIB__lib.h directly, include only GRRLIB.h.

+
+ + + + diff --git a/annotated.html b/annotated.html new file mode 100644 index 0000000..9388dfd --- /dev/null +++ b/annotated.html @@ -0,0 +1,83 @@ + + + + + + + +GRRLIB: Data Structures + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Data Structures
+
+
+
Here are the data structures with brief descriptions:
+ + + + + + +
 CGRRLIB_bytemapCharStructure to hold the bytemap character information
 CGRRLIB_bytemapFontStructure to hold the bytemap font information
 CGRRLIB_drawSettingsStructure to hold the current drawing settings
 CGRRLIB_FontStructure to hold the TTF information
 CGRRLIB_texImgStructure to hold the texture information
+
+
+ + + + diff --git a/bc_s.png b/bc_s.png new file mode 100644 index 0000000000000000000000000000000000000000..224b29aa9847d5a4b3902efd602b7ddf7d33e6c2 GIT binary patch literal 676 zcmV;V0$crwP)y__>=_9%My z{n931IS})GlGUF8K#6VIbs%684A^L3@%PlP2>_sk`UWPq@f;rU*V%rPy_ekbhXT&s z(GN{DxFv}*vZp`F>S!r||M`I*nOwwKX+BC~3P5N3-)Y{65c;ywYiAh-1*hZcToLHK ztpl1xomJ+Yb}K(cfbJr2=GNOnT!UFA7Vy~fBz8?J>XHsbZoDad^8PxfSa0GDgENZS zuLCEqzb*xWX2CG*b&5IiO#NzrW*;`VC9455M`o1NBh+(k8~`XCEEoC1Ybwf;vr4K3 zg|EB<07?SOqHp9DhLpS&bzgo70I+ghB_#)K7H%AMU3v}xuyQq9&Bm~++VYhF09a+U zl7>n7Jjm$K#b*FONz~fj;I->Bf;ule1prFN9FovcDGBkpg>)O*-}eLnC{6oZHZ$o% zXKW$;0_{8hxHQ>l;_*HATI(`7t#^{$(zLe}h*mqwOc*nRY9=?Sx4OOeVIfI|0V(V2 zBrW#G7Ss9wvzr@>H*`r>zE z+e8bOBgqIgldUJlG(YUDviMB`9+DH8n-s9SXRLyJHO1!=wY^79WYZMTa(wiZ!zP66 zA~!21vmF3H2{ngD;+`6j#~6j;$*f*G_2ZD1E;9(yaw7d-QnSCpK(cR1zU3qU0000< KMNUMnLSTYoA~SLT literal 0 HcmV?d00001 diff --git a/bdwn.png b/bdwn.png new file mode 100644 index 0000000000000000000000000000000000000000..940a0b950443a0bb1b216ac03c45b8a16c955452 GIT binary patch literal 147 zcmeAS@N?(olHy`uVBq!ia0vp^>_E)H!3HEvS)PKZC{Gv1kP61Pb5HX&C2wk~_T + + + + + + +GRRLIB: Data Structure Index + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Data Structure Index
+
+
+ + + + + + +
  g  
+
GRRLIB_bytemapFont   GRRLIB_Font   
GRRLIB_drawSettings   GRRLIB_texImg   
GRRLIB_bytemapChar   
+ +
+ + + + diff --git a/closed.png b/closed.png new file mode 100644 index 0000000000000000000000000000000000000000..98cc2c909da37a6df914fbf67780eebd99c597f5 GIT binary patch literal 132 zcmeAS@N?(olHy`uVBq!ia0vp^oFL4>1|%O$WD@{V-kvUwAr*{o@8{^CZMh(5KoB^r_<4^zF@3)Cp&&t3hdujKf f*?bjBoY!V+E))@{xMcbjXe@)LtDnm{r-UW|*e5JT literal 0 HcmV?d00001 diff --git a/dir_31622c108de77de59a32254ac003cf08.html b/dir_31622c108de77de59a32254ac003cf08.html new file mode 100644 index 0000000..b2d93a2 --- /dev/null +++ b/dir_31622c108de77de59a32254ac003cf08.html @@ -0,0 +1,88 @@ + + + + + + + +GRRLIB: grrlib Directory Reference + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ + +
+
+
+
grrlib Directory Reference
+
+
+ + + + + + + + +

+Files

file  GRRLIB__inline.h
 GRRLIB inline function prototypes.
 
file  GRRLIB__lib.h
 GRRLIB library function prototypes.
 
+
+ + + + diff --git a/doc.png b/doc.png new file mode 100644 index 0000000000000000000000000000000000000000..17edabff95f7b8da13c9516a04efe05493c29501 GIT binary patch literal 746 zcmV7=@pnbNXRFEm&G8P!&WHG=d)>K?YZ1bzou)2{$)) zumDct!>4SyxL;zgaG>wy`^Hv*+}0kUfCrz~BCOViSb$_*&;{TGGn2^x9K*!Sf0=lV zpP=7O;GA0*Jm*tTYj$IoXvimpnV4S1Z5f$p*f$Db2iq2zrVGQUz~yq`ahn7ck(|CE z7Gz;%OP~J6)tEZWDzjhL9h2hdfoU2)Nd%T<5Kt;Y0XLt&<@6pQx!nw*5`@bq#?l*?3z{Hlzoc=Pr>oB5(9i6~_&-}A(4{Q$>c>%rV&E|a(r&;?i5cQB=} zYSDU5nXG)NS4HEs0it2AHe2>shCyr7`6@4*6{r@8fXRbTA?=IFVWAQJL&H5H{)DpM#{W(GL+Idzf^)uRV@oB8u$ z8v{MfJbTiiRg4bza<41NAzrl{=3fl_D+$t+^!xlQ8S}{UtY`e z;;&9UhyZqQRN%2pot{*Ei0*4~hSF_3AH2@fKU!$NSflS>{@tZpDT4`M2WRTTVH+D? z)GFlEGGHe?koB}i|1w45!BF}N_q&^HJ&-tyR{(afC6H7|aml|tBBbv}55C5DNP8p3 z)~jLEO4Z&2hZmP^i-e%(@d!(E|KRafiU8Q5u(wU((j8un3OR*Hvj+t literal 0 HcmV?d00001 diff --git a/doxygen.css b/doxygen.css new file mode 100644 index 0000000..4f1ab91 --- /dev/null +++ b/doxygen.css @@ -0,0 +1,1596 @@ +/* The standard CSS for doxygen 1.8.13 */ + +body, table, div, p, dl { + font: 400 14px/22px Roboto,sans-serif; +} + +p.reference, p.definition { + font: 400 14px/22px Roboto,sans-serif; +} + +/* @group Heading Levels */ + +h1.groupheader { + font-size: 150%; +} + +.title { + font: 400 14px/28px Roboto,sans-serif; + font-size: 150%; + font-weight: bold; + margin: 10px 2px; +} + +h2.groupheader { + border-bottom: 1px solid #879ECB; + color: #354C7B; + font-size: 150%; + font-weight: normal; + margin-top: 1.75em; + padding-top: 8px; + padding-bottom: 4px; + width: 100%; +} + +h3.groupheader { + font-size: 100%; +} + +h1, h2, h3, h4, h5, h6 { + -webkit-transition: text-shadow 0.5s linear; + -moz-transition: text-shadow 0.5s linear; + -ms-transition: text-shadow 0.5s linear; + -o-transition: text-shadow 0.5s linear; + transition: text-shadow 0.5s linear; + margin-right: 15px; +} + +h1.glow, h2.glow, h3.glow, h4.glow, h5.glow, h6.glow { + text-shadow: 0 0 15px cyan; +} + +dt { + font-weight: bold; +} + +div.multicol { + -moz-column-gap: 1em; + -webkit-column-gap: 1em; + -moz-column-count: 3; + -webkit-column-count: 3; +} + +p.startli, p.startdd { + margin-top: 2px; +} + +p.starttd { + margin-top: 0px; +} + +p.endli { + margin-bottom: 0px; +} + +p.enddd { + margin-bottom: 4px; +} + +p.endtd { + margin-bottom: 2px; +} + +/* @end */ + +caption { + font-weight: bold; +} + +span.legend { + font-size: 70%; + text-align: center; +} + +h3.version { + font-size: 90%; + text-align: center; +} + +div.qindex, div.navtab{ + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; +} + +div.qindex, div.navpath { + width: 100%; + line-height: 140%; +} + +div.navtab { + margin-right: 15px; +} + +/* @group Link Styling */ + +a { + color: #3D578C; + font-weight: normal; + text-decoration: none; +} + +.contents a:visited { + color: #4665A2; +} + +a:hover { + text-decoration: underline; +} + +a.qindex { + font-weight: bold; +} + +a.qindexHL { + font-weight: bold; + background-color: #9CAFD4; + color: #ffffff; + border: 1px double #869DCA; +} + +.contents a.qindexHL:visited { + color: #ffffff; +} + +a.el { + font-weight: bold; +} + +a.elRef { +} + +a.code, a.code:visited, a.line, a.line:visited { + color: #4665A2; +} + +a.codeRef, a.codeRef:visited, a.lineRef, a.lineRef:visited { + color: #4665A2; +} + +/* @end */ + +dl.el { + margin-left: -1cm; +} + +pre.fragment { + border: 1px solid #C4CFE5; + background-color: #FBFCFD; + padding: 4px 6px; + margin: 4px 8px 4px 2px; + overflow: auto; + word-wrap: break-word; + font-size: 9pt; + line-height: 125%; + font-family: monospace, fixed; + font-size: 105%; +} + +div.fragment { + padding: 0px; + margin: 4px 8px 4px 2px; + background-color: #FBFCFD; + border: 1px solid #C4CFE5; +} + +div.line { + font-family: monospace, fixed; + font-size: 13px; + min-height: 13px; + line-height: 1.0; + text-wrap: unrestricted; + white-space: -moz-pre-wrap; /* Moz */ + white-space: -pre-wrap; /* Opera 4-6 */ + white-space: -o-pre-wrap; /* Opera 7 */ + white-space: pre-wrap; /* CSS3 */ + word-wrap: break-word; /* IE 5.5+ */ + text-indent: -53px; + padding-left: 53px; + padding-bottom: 0px; + margin: 0px; + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +div.line:after { + content:"\000A"; + white-space: pre; +} + +div.line.glow { + background-color: cyan; + box-shadow: 0 0 10px cyan; +} + + +span.lineno { + padding-right: 4px; + text-align: right; + border-right: 2px solid #0F0; + background-color: #E8E8E8; + white-space: pre; +} +span.lineno a { + background-color: #D8D8D8; +} + +span.lineno a:hover { + background-color: #C8C8C8; +} + +.lineno { + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +div.ah, span.ah { + background-color: black; + font-weight: bold; + color: #ffffff; + margin-bottom: 3px; + margin-top: 3px; + padding: 0.2em; + border: solid thin #333; + border-radius: 0.5em; + -webkit-border-radius: .5em; + -moz-border-radius: .5em; + box-shadow: 2px 2px 3px #999; + -webkit-box-shadow: 2px 2px 3px #999; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + background-image: -webkit-gradient(linear, left top, left bottom, from(#eee), to(#000),color-stop(0.3, #444)); + background-image: -moz-linear-gradient(center top, #eee 0%, #444 40%, #000 110%); +} + +div.classindex ul { + list-style: none; + padding-left: 0; +} + +div.classindex span.ai { + display: inline-block; +} + +div.groupHeader { + margin-left: 16px; + margin-top: 12px; + font-weight: bold; +} + +div.groupText { + margin-left: 16px; + font-style: italic; +} + +body { + background-color: white; + color: black; + margin: 0; +} + +div.contents { + margin-top: 10px; + margin-left: 12px; + margin-right: 8px; +} + +td.indexkey { + background-color: #EBEFF6; + font-weight: bold; + border: 1px solid #C4CFE5; + margin: 2px 0px 2px 0; + padding: 2px 10px; + white-space: nowrap; + vertical-align: top; +} + +td.indexvalue { + background-color: #EBEFF6; + border: 1px solid #C4CFE5; + padding: 2px 10px; + margin: 2px 0px; +} + +tr.memlist { + background-color: #EEF1F7; +} + +p.formulaDsp { + text-align: center; +} + +img.formulaDsp { + +} + +img.formulaInl { + vertical-align: middle; +} + +div.center { + text-align: center; + margin-top: 0px; + margin-bottom: 0px; + padding: 0px; +} + +div.center img { + border: 0px; +} + +address.footer { + text-align: right; + padding-right: 12px; +} + +img.footer { + border: 0px; + vertical-align: middle; +} + +/* @group Code Colorization */ + +span.keyword { + color: #008000 +} + +span.keywordtype { + color: #604020 +} + +span.keywordflow { + color: #e08000 +} + +span.comment { + color: #800000 +} + +span.preprocessor { + color: #806020 +} + +span.stringliteral { + color: #002080 +} + +span.charliteral { + color: #008080 +} + +span.vhdldigit { + color: #ff00ff +} + +span.vhdlchar { + color: #000000 +} + +span.vhdlkeyword { + color: #700070 +} + +span.vhdllogic { + color: #ff0000 +} + +blockquote { + background-color: #F7F8FB; + border-left: 2px solid #9CAFD4; + margin: 0 24px 0 4px; + padding: 0 12px 0 16px; +} + +/* @end */ + +/* +.search { + color: #003399; + font-weight: bold; +} + +form.search { + margin-bottom: 0px; + margin-top: 0px; +} + +input.search { + font-size: 75%; + color: #000080; + font-weight: normal; + background-color: #e8eef2; +} +*/ + +td.tiny { + font-size: 75%; +} + +.dirtab { + padding: 4px; + border-collapse: collapse; + border: 1px solid #A3B4D7; +} + +th.dirtab { + background: #EBEFF6; + font-weight: bold; +} + +hr { + height: 0px; + border: none; + border-top: 1px solid #4A6AAA; +} + +hr.footer { + height: 1px; +} + +/* @group Member Descriptions */ + +table.memberdecls { + border-spacing: 0px; + padding: 0px; +} + +.memberdecls td, .fieldtable tr { + -webkit-transition-property: background-color, box-shadow; + -webkit-transition-duration: 0.5s; + -moz-transition-property: background-color, box-shadow; + -moz-transition-duration: 0.5s; + -ms-transition-property: background-color, box-shadow; + -ms-transition-duration: 0.5s; + -o-transition-property: background-color, box-shadow; + -o-transition-duration: 0.5s; + transition-property: background-color, box-shadow; + transition-duration: 0.5s; +} + +.memberdecls td.glow, .fieldtable tr.glow { + background-color: cyan; + box-shadow: 0 0 15px cyan; +} + +.mdescLeft, .mdescRight, +.memItemLeft, .memItemRight, +.memTemplItemLeft, .memTemplItemRight, .memTemplParams { + background-color: #F9FAFC; + border: none; + margin: 4px; + padding: 1px 0 0 8px; +} + +.mdescLeft, .mdescRight { + padding: 0px 8px 4px 8px; + color: #555; +} + +.memSeparator { + border-bottom: 1px solid #DEE4F0; + line-height: 1px; + margin: 0px; + padding: 0px; +} + +.memItemLeft, .memTemplItemLeft { + white-space: nowrap; +} + +.memItemRight { + width: 100%; +} + +.memTemplParams { + color: #4665A2; + white-space: nowrap; + font-size: 80%; +} + +/* @end */ + +/* @group Member Details */ + +/* Styles for detailed member documentation */ + +.memtitle { + padding: 8px; + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + border-top-right-radius: 4px; + border-top-left-radius: 4px; + margin-bottom: -1px; + background-image: url('nav_f.png'); + background-repeat: repeat-x; + background-color: #E2E8F2; + line-height: 1.25; + font-weight: 300; + float:left; +} + +.permalink +{ + font-size: 65%; + display: inline-block; + vertical-align: middle; +} + +.memtemplate { + font-size: 80%; + color: #4665A2; + font-weight: normal; + margin-left: 9px; +} + +.memnav { + background-color: #EBEFF6; + border: 1px solid #A3B4D7; + text-align: center; + margin: 2px; + margin-right: 15px; + padding: 2px; +} + +.mempage { + width: 100%; +} + +.memitem { + padding: 0; + margin-bottom: 10px; + margin-right: 5px; + -webkit-transition: box-shadow 0.5s linear; + -moz-transition: box-shadow 0.5s linear; + -ms-transition: box-shadow 0.5s linear; + -o-transition: box-shadow 0.5s linear; + transition: box-shadow 0.5s linear; + display: table !important; + width: 100%; +} + +.memitem.glow { + box-shadow: 0 0 15px cyan; +} + +.memname { + font-weight: 400; + margin-left: 6px; +} + +.memname td { + vertical-align: bottom; +} + +.memproto, dl.reflist dt { + border-top: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 0px 6px 0px; + color: #253555; + font-weight: bold; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + background-color: #DFE5F1; + /* opera specific markup */ + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + border-top-right-radius: 4px; + /* firefox specific markup */ + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + -moz-border-radius-topright: 4px; + /* webkit specific markup */ + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + -webkit-border-top-right-radius: 4px; + +} + +.overload { + font-family: "courier new",courier,monospace; + font-size: 65%; +} + +.memdoc, dl.reflist dd { + border-bottom: 1px solid #A8B8D9; + border-left: 1px solid #A8B8D9; + border-right: 1px solid #A8B8D9; + padding: 6px 10px 2px 10px; + background-color: #FBFCFD; + border-top-width: 0; + background-image:url('nav_g.png'); + background-repeat:repeat-x; + background-color: #FFFFFF; + /* opera specific markup */ + border-bottom-left-radius: 4px; + border-bottom-right-radius: 4px; + box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); + /* firefox specific markup */ + -moz-border-radius-bottomleft: 4px; + -moz-border-radius-bottomright: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 5px 5px 5px; + /* webkit specific markup */ + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +dl.reflist dt { + padding: 5px; +} + +dl.reflist dd { + margin: 0px 0px 10px 0px; + padding: 5px; +} + +.paramkey { + text-align: right; +} + +.paramtype { + white-space: nowrap; +} + +.paramname { + color: #602020; + white-space: nowrap; +} +.paramname em { + font-style: normal; +} +.paramname code { + line-height: 14px; +} + +.params, .retval, .exception, .tparams { + margin-left: 0px; + padding-left: 0px; +} + +.params .paramname, .retval .paramname { + font-weight: bold; + vertical-align: top; +} + +.params .paramtype { + font-style: italic; + vertical-align: top; +} + +.params .paramdir { + font-family: "courier new",courier,monospace; + vertical-align: top; +} + +table.mlabels { + border-spacing: 0px; +} + +td.mlabels-left { + width: 100%; + padding: 0px; +} + +td.mlabels-right { + vertical-align: bottom; + padding: 0px; + white-space: nowrap; +} + +span.mlabels { + margin-left: 8px; +} + +span.mlabel { + background-color: #728DC1; + border-top:1px solid #5373B4; + border-left:1px solid #5373B4; + border-right:1px solid #C4CFE5; + border-bottom:1px solid #C4CFE5; + text-shadow: none; + color: white; + margin-right: 4px; + padding: 2px 3px; + border-radius: 3px; + font-size: 7pt; + white-space: nowrap; + vertical-align: middle; +} + + + +/* @end */ + +/* these are for tree view inside a (index) page */ + +div.directory { + margin: 10px 0px; + border-top: 1px solid #9CAFD4; + border-bottom: 1px solid #9CAFD4; + width: 100%; +} + +.directory table { + border-collapse:collapse; +} + +.directory td { + margin: 0px; + padding: 0px; + vertical-align: top; +} + +.directory td.entry { + white-space: nowrap; + padding-right: 6px; + padding-top: 3px; +} + +.directory td.entry a { + outline:none; +} + +.directory td.entry a img { + border: none; +} + +.directory td.desc { + width: 100%; + padding-left: 6px; + padding-right: 6px; + padding-top: 3px; + border-left: 1px solid rgba(0,0,0,0.05); +} + +.directory tr.even { + padding-left: 6px; + background-color: #F7F8FB; +} + +.directory img { + vertical-align: -30%; +} + +.directory .levels { + white-space: nowrap; + width: 100%; + text-align: right; + font-size: 9pt; +} + +.directory .levels span { + cursor: pointer; + padding-left: 2px; + padding-right: 2px; + color: #3D578C; +} + +.arrow { + color: #9CAFD4; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + cursor: pointer; + font-size: 80%; + display: inline-block; + width: 16px; + height: 22px; +} + +.icon { + font-family: Arial, Helvetica; + font-weight: bold; + font-size: 12px; + height: 14px; + width: 16px; + display: inline-block; + background-color: #728DC1; + color: white; + text-align: center; + border-radius: 4px; + margin-left: 2px; + margin-right: 2px; +} + +.icona { + width: 24px; + height: 22px; + display: inline-block; +} + +.iconfopen { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderopen.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.iconfclosed { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('folderclosed.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +.icondoc { + width: 24px; + height: 18px; + margin-bottom: 4px; + background-image:url('doc.png'); + background-position: 0px -4px; + background-repeat: repeat-y; + vertical-align:top; + display: inline-block; +} + +table.directory { + font: 400 14px Roboto,sans-serif; +} + +/* @end */ + +div.dynheader { + margin-top: 8px; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +address { + font-style: normal; + color: #2A3D61; +} + +table.doxtable caption { + caption-side: top; +} + +table.doxtable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.doxtable td, table.doxtable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.doxtable th { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +table.fieldtable { + /*width: 100%;*/ + margin-bottom: 10px; + border: 1px solid #A8B8D9; + border-spacing: 0px; + -moz-border-radius: 4px; + -webkit-border-radius: 4px; + border-radius: 4px; + -moz-box-shadow: rgba(0, 0, 0, 0.15) 2px 2px 2px; + -webkit-box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); + box-shadow: 2px 2px 2px rgba(0, 0, 0, 0.15); +} + +.fieldtable td, .fieldtable th { + padding: 3px 7px 2px; +} + +.fieldtable td.fieldtype, .fieldtable td.fieldname { + white-space: nowrap; + border-right: 1px solid #A8B8D9; + border-bottom: 1px solid #A8B8D9; + vertical-align: top; +} + +.fieldtable td.fieldname { + padding-top: 3px; +} + +.fieldtable td.fielddoc { + border-bottom: 1px solid #A8B8D9; + /*width: 100%;*/ +} + +.fieldtable td.fielddoc p:first-child { + margin-top: 0px; +} + +.fieldtable td.fielddoc p:last-child { + margin-bottom: 2px; +} + +.fieldtable tr:last-child td { + border-bottom: none; +} + +.fieldtable th { + background-image:url('nav_f.png'); + background-repeat:repeat-x; + background-color: #E2E8F2; + font-size: 90%; + color: #253555; + padding-bottom: 4px; + padding-top: 5px; + text-align:left; + font-weight: 400; + -moz-border-radius-topleft: 4px; + -moz-border-radius-topright: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + border-top-left-radius: 4px; + border-top-right-radius: 4px; + border-bottom: 1px solid #A8B8D9; +} + + +.tabsearch { + top: 0px; + left: 10px; + height: 36px; + background-image: url('tab_b.png'); + z-index: 101; + overflow: hidden; + font-size: 13px; +} + +.navpath ul +{ + font-size: 11px; + background-image:url('tab_b.png'); + background-repeat:repeat-x; + background-position: 0 -5px; + height:30px; + line-height:30px; + color:#8AA0CC; + border:solid 1px #C2CDE4; + overflow:hidden; + margin:0px; + padding:0px; +} + +.navpath li +{ + list-style-type:none; + float:left; + padding-left:10px; + padding-right:15px; + background-image:url('bc_s.png'); + background-repeat:no-repeat; + background-position:right; + color:#364D7C; +} + +.navpath li.navelem a +{ + height:32px; + display:block; + text-decoration: none; + outline: none; + color: #283A5D; + font-family: 'Lucida Grande',Geneva,Helvetica,Arial,sans-serif; + text-shadow: 0px 1px 1px rgba(255, 255, 255, 0.9); + text-decoration: none; +} + +.navpath li.navelem a:hover +{ + color:#6884BD; +} + +.navpath li.footer +{ + list-style-type:none; + float:right; + padding-left:10px; + padding-right:15px; + background-image:none; + background-repeat:no-repeat; + background-position:right; + color:#364D7C; + font-size: 8pt; +} + + +div.summary +{ + float: right; + font-size: 8pt; + padding-right: 5px; + width: 50%; + text-align: right; +} + +div.summary a +{ + white-space: nowrap; +} + +table.classindex +{ + margin: 10px; + white-space: nowrap; + margin-left: 3%; + margin-right: 3%; + width: 94%; + border: 0; + border-spacing: 0; + padding: 0; +} + +div.ingroups +{ + font-size: 8pt; + width: 50%; + text-align: left; +} + +div.ingroups a +{ + white-space: nowrap; +} + +div.header +{ + background-image:url('nav_h.png'); + background-repeat:repeat-x; + background-color: #F9FAFC; + margin: 0px; + border-bottom: 1px solid #C4CFE5; +} + +div.headertitle +{ + padding: 5px 5px 5px 10px; +} + +dl +{ + padding: 0 0 0 10px; +} + +/* dl.note, dl.warning, dl.attention, dl.pre, dl.post, dl.invariant, dl.deprecated, dl.todo, dl.test, dl.bug */ +dl.section +{ + margin-left: 0px; + padding-left: 0px; +} + +dl.note +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #D0C000; +} + +dl.warning, dl.attention +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #FF0000; +} + +dl.pre, dl.post, dl.invariant +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00D000; +} + +dl.deprecated +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #505050; +} + +dl.todo +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #00C0E0; +} + +dl.test +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #3030E0; +} + +dl.bug +{ + margin-left:-7px; + padding-left: 3px; + border-left:4px solid; + border-color: #C08050; +} + +dl.section dd { + margin-bottom: 6px; +} + + +#projectlogo +{ + text-align: center; + vertical-align: bottom; + border-collapse: separate; +} + +#projectlogo img +{ + border: 0px none; +} + +#projectalign +{ + vertical-align: middle; +} + +#projectname +{ + font: 300% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 2px 0px; +} + +#projectbrief +{ + font: 120% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#projectnumber +{ + font: 50% Tahoma, Arial,sans-serif; + margin: 0px; + padding: 0px; +} + +#titlearea +{ + padding: 0px; + margin: 0px; + width: 100%; + border-bottom: 1px solid #5373B4; +} + +.image +{ + text-align: center; +} + +.dotgraph +{ + text-align: center; +} + +.mscgraph +{ + text-align: center; +} + +.plantumlgraph +{ + text-align: center; +} + +.diagraph +{ + text-align: center; +} + +.caption +{ + font-weight: bold; +} + +div.zoom +{ + border: 1px solid #90A5CE; +} + +dl.citelist { + margin-bottom:50px; +} + +dl.citelist dt { + color:#334975; + float:left; + font-weight:bold; + margin-right:10px; + padding:5px; +} + +dl.citelist dd { + margin:2px 0; + padding:5px 0; +} + +div.toc { + padding: 14px 25px; + background-color: #F4F6FA; + border: 1px solid #D8DFEE; + border-radius: 7px 7px 7px 7px; + float: right; + height: auto; + margin: 0 8px 10px 10px; + width: 200px; +} + +div.toc li { + background: url("bdwn.png") no-repeat scroll 0 5px transparent; + font: 10px/1.2 Verdana,DejaVu Sans,Geneva,sans-serif; + margin-top: 5px; + padding-left: 10px; + padding-top: 2px; +} + +div.toc h3 { + font: bold 12px/1.2 Arial,FreeSans,sans-serif; + color: #4665A2; + border-bottom: 0 none; + margin: 0; +} + +div.toc ul { + list-style: none outside none; + border: medium none; + padding: 0px; +} + +div.toc li.level1 { + margin-left: 0px; +} + +div.toc li.level2 { + margin-left: 15px; +} + +div.toc li.level3 { + margin-left: 30px; +} + +div.toc li.level4 { + margin-left: 45px; +} + +.inherit_header { + font-weight: bold; + color: gray; + cursor: pointer; + -webkit-touch-callout: none; + -webkit-user-select: none; + -khtml-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; +} + +.inherit_header td { + padding: 6px 0px 2px 5px; +} + +.inherit { + display: none; +} + +tr.heading h2 { + margin-top: 12px; + margin-bottom: 4px; +} + +/* tooltip related style info */ + +.ttc { + position: absolute; + display: none; +} + +#powerTip { + cursor: default; + white-space: nowrap; + background-color: white; + border: 1px solid gray; + border-radius: 4px 4px 4px 4px; + box-shadow: 1px 1px 7px gray; + display: none; + font-size: smaller; + max-width: 80%; + opacity: 0.9; + padding: 1ex 1em 1em; + position: absolute; + z-index: 2147483647; +} + +#powerTip div.ttdoc { + color: grey; + font-style: italic; +} + +#powerTip div.ttname a { + font-weight: bold; +} + +#powerTip div.ttname { + font-weight: bold; +} + +#powerTip div.ttdeci { + color: #006318; +} + +#powerTip div { + margin: 0px; + padding: 0px; + font: 12px/16px Roboto,sans-serif; +} + +#powerTip:before, #powerTip:after { + content: ""; + position: absolute; + margin: 0px; +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.s:after, #powerTip.s:before, +#powerTip.w:after, #powerTip.w:before, +#powerTip.e:after, #powerTip.e:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.nw:after, #powerTip.nw:before, +#powerTip.sw:after, #powerTip.sw:before { + border: solid transparent; + content: " "; + height: 0; + width: 0; + position: absolute; +} + +#powerTip.n:after, #powerTip.s:after, +#powerTip.w:after, #powerTip.e:after, +#powerTip.nw:after, #powerTip.ne:after, +#powerTip.sw:after, #powerTip.se:after { + border-color: rgba(255, 255, 255, 0); +} + +#powerTip.n:before, #powerTip.s:before, +#powerTip.w:before, #powerTip.e:before, +#powerTip.nw:before, #powerTip.ne:before, +#powerTip.sw:before, #powerTip.se:before { + border-color: rgba(128, 128, 128, 0); +} + +#powerTip.n:after, #powerTip.n:before, +#powerTip.ne:after, #powerTip.ne:before, +#powerTip.nw:after, #powerTip.nw:before { + top: 100%; +} + +#powerTip.n:after, #powerTip.ne:after, #powerTip.nw:after { + border-top-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} +#powerTip.n:before { + border-top-color: #808080; + border-width: 11px; + margin: 0px -11px; +} +#powerTip.n:after, #powerTip.n:before { + left: 50%; +} + +#powerTip.nw:after, #powerTip.nw:before { + right: 14px; +} + +#powerTip.ne:after, #powerTip.ne:before { + left: 14px; +} + +#powerTip.s:after, #powerTip.s:before, +#powerTip.se:after, #powerTip.se:before, +#powerTip.sw:after, #powerTip.sw:before { + bottom: 100%; +} + +#powerTip.s:after, #powerTip.se:after, #powerTip.sw:after { + border-bottom-color: #ffffff; + border-width: 10px; + margin: 0px -10px; +} + +#powerTip.s:before, #powerTip.se:before, #powerTip.sw:before { + border-bottom-color: #808080; + border-width: 11px; + margin: 0px -11px; +} + +#powerTip.s:after, #powerTip.s:before { + left: 50%; +} + +#powerTip.sw:after, #powerTip.sw:before { + right: 14px; +} + +#powerTip.se:after, #powerTip.se:before { + left: 14px; +} + +#powerTip.e:after, #powerTip.e:before { + left: 100%; +} +#powerTip.e:after { + border-left-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.e:before { + border-left-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +#powerTip.w:after, #powerTip.w:before { + right: 100%; +} +#powerTip.w:after { + border-right-color: #ffffff; + border-width: 10px; + top: 50%; + margin-top: -10px; +} +#powerTip.w:before { + border-right-color: #808080; + border-width: 11px; + top: 50%; + margin-top: -11px; +} + +@media print +{ + #top { display: none; } + #side-nav { display: none; } + #nav-path { display: none; } + body { overflow:visible; } + h1, h2, h3, h4, h5, h6 { page-break-after: avoid; } + .summary { display: none; } + .memitem { page-break-inside: avoid; } + #doc-content + { + margin-left:0 !important; + height:auto !important; + width:auto !important; + overflow:inherit; + display:inline; + } +} + +/* @group Markdown */ + +/* +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTableHead tr { +} + +table.markdownTableBodyLeft td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +th.markdownTableHeadLeft th.markdownTableHeadRight th.markdownTableHeadCenter th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft { + text-align: left +} + +th.markdownTableHeadRight { + text-align: right +} + +th.markdownTableHeadCenter { + text-align: center +} +*/ + +table.markdownTable { + border-collapse:collapse; + margin-top: 4px; + margin-bottom: 4px; +} + +table.markdownTable td, table.markdownTable th { + border: 1px solid #2D4068; + padding: 3px 7px 2px; +} + +table.markdownTable tr { +} + +th.markdownTableHeadLeft, th.markdownTableHeadRight, th.markdownTableHeadCenter, th.markdownTableHeadNone { + background-color: #374F7F; + color: #FFFFFF; + font-size: 110%; + padding-bottom: 4px; + padding-top: 5px; +} + +th.markdownTableHeadLeft, td.markdownTableBodyLeft { + text-align: left +} + +th.markdownTableHeadRight, td.markdownTableBodyRight { + text-align: right +} + +th.markdownTableHeadCenter, td.markdownTableBodyCenter { + text-align: center +} + + +/* @end */ diff --git a/doxygen.png b/doxygen.png new file mode 100644 index 0000000000000000000000000000000000000000..3ff17d807fd8aa003bed8bb2a69e8f0909592fd1 GIT binary patch literal 3779 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 literal 0 HcmV?d00001 diff --git a/dynsections.js b/dynsections.js new file mode 100644 index 0000000..85e1836 --- /dev/null +++ b/dynsections.js @@ -0,0 +1,97 @@ +function toggleVisibility(linkObj) +{ + var base = $(linkObj).attr('id'); + var summary = $('#'+base+'-summary'); + var content = $('#'+base+'-content'); + var trigger = $('#'+base+'-trigger'); + var src=$(trigger).attr('src'); + if (content.is(':visible')===true) { + content.hide(); + summary.show(); + $(linkObj).addClass('closed').removeClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-8)+'closed.png'); + } else { + content.show(); + summary.hide(); + $(linkObj).removeClass('closed').addClass('opened'); + $(trigger).attr('src',src.substring(0,src.length-10)+'open.png'); + } + return false; +} + +function updateStripes() +{ + $('table.directory tr'). + removeClass('even').filter(':visible:even').addClass('even'); +} + +function toggleLevel(level) +{ + $('table.directory tr').each(function() { + var l = this.id.split('_').length-1; + var i = $('#img'+this.id.substring(3)); + var a = $('#arr'+this.id.substring(3)); + if (l + + + + + + +GRRLIB: Examples + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
Examples
+
+
+
Here is a list of all examples:
+
+ + + + diff --git a/files.html b/files.html new file mode 100644 index 0000000..550e586 --- /dev/null +++ b/files.html @@ -0,0 +1,81 @@ + + + + + + + +GRRLIB: File List + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
File List
+
+
+
Here is a list of all documented files with brief descriptions:
+ + + + +
 grrlib.hGRRLIB user include file
 GRRLIB__inline.hGRRLIB inline function prototypes
 GRRLIB__lib.hGRRLIB library function prototypes
+
+
+ + + + diff --git a/folderclosed.png b/folderclosed.png new file mode 100644 index 0000000000000000000000000000000000000000..bb8ab35edce8e97554e360005ee9fc5bffb36e66 GIT binary patch literal 616 zcmV-u0+;=XP)a9#ETzayK)T~Jw&MMH>OIr#&;dC}is*2Mqdf&akCc=O@`qC+4i z5Iu3w#1M@KqXCz8TIZd1wli&kkl2HVcAiZ8PUn5z_kG@-y;?yK06=cA0U%H0PH+kU zl6dp}OR(|r8-RG+YLu`zbI}5TlOU6ToR41{9=uz^?dGTNL;wIMf|V3`d1Wj3y!#6` zBLZ?xpKR~^2x}?~zA(_NUu3IaDB$tKma*XUdOZN~c=dLt_h_k!dbxm_*ibDM zlFX`g{k$X}yIe%$N)cn1LNu=q9_CS)*>A zsX_mM4L@`(cSNQKMFc$RtYbx{79#j-J7hk*>*+ZZhM4Hw?I?rsXCi#mRWJ=-0LGV5a-WR0Qgt<|Nqf)C-@80`5gIz45^_20000IqP)X=#(TiCT&PiIIVc55T}TU}EUh*{q$|`3@{d>{Tc9Bo>e= zfmF3!f>fbI9#GoEHh0f`i5)wkLpva0ztf%HpZneK?w-7AK@b4Itw{y|Zd3k!fH?q2 zlhckHd_V2M_X7+)U&_Xcfvtw60l;--DgZmLSw-Y?S>)zIqMyJ1#FwLU*%bl38ok+! zh78H87n`ZTS;uhzAR$M`zZ`bVhq=+%u9^$5jDplgxd44}9;IRqUH1YHH|@6oFe%z( zo4)_>E$F&^P-f(#)>(TrnbE>Pefs9~@iN=|)Rz|V`sGfHNrJ)0gJb8xx+SBmRf@1l zvuzt=vGfI)<-F9!o&3l?>9~0QbUDT(wFdnQPv%xdD)m*g%!20>Bc9iYmGAp<9YAa( z0QgYgTWqf1qN++Gqp z8@AYPTB3E|6s=WLG?xw0tm|U!o=&zd+H0oRYE;Dbx+Na9s^STqX|Gnq%H8s(nGDGJ j8vwW|`Ts`)fSK|Kx=IK@RG@g200000NkvXXu0mjfauFEA literal 0 HcmV?d00001 diff --git a/functions.html b/functions.html new file mode 100644 index 0000000..4bcc790 --- /dev/null +++ b/functions.html @@ -0,0 +1,222 @@ + + + + + + + +GRRLIB: Data Fields + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented struct and union fields with links to the struct/union documentation for each field:
+ +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- h -

+ + +

- k -

+ + +

- l -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- t -

+ + +

- v -

+ + +

- w -

+
+ + + + diff --git a/functions_vars.html b/functions_vars.html new file mode 100644 index 0000000..83ef654 --- /dev/null +++ b/functions_vars.html @@ -0,0 +1,222 @@ + + + + + + + +GRRLIB: Data Fields - Variables + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- a -

+ + +

- b -

+ + +

- c -

+ + +

- d -

+ + +

- f -

+ + +

- h -

+ + +

- k -

+ + +

- l -

+ + +

- n -

+ + +

- o -

+ + +

- p -

+ + +

- r -

+ + +

- t -

+ + +

- v -

+ + +

- w -

+
+ + + + diff --git a/globals.html b/globals.html new file mode 100644 index 0000000..1337cb6 --- /dev/null +++ b/globals.html @@ -0,0 +1,422 @@ + + + + + + + +GRRLIB: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
Here is a list of all documented functions, variables, defines, enums, and typedefs with links to the documentation:
+ +

- a -

+ + +

- b -

+ + +

- g -

+ + +

- r -

+
+ + + + diff --git a/globals_defs.html b/globals_defs.html new file mode 100644 index 0000000..d5cebdc --- /dev/null +++ b/globals_defs.html @@ -0,0 +1,99 @@ + + + + + + + +GRRLIB: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/globals_enum.html b/globals_enum.html new file mode 100644 index 0000000..490598c --- /dev/null +++ b/globals_enum.html @@ -0,0 +1,75 @@ + + + + + + + +GRRLIB: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/globals_eval.html b/globals_eval.html new file mode 100644 index 0000000..3949895 --- /dev/null +++ b/globals_eval.html @@ -0,0 +1,87 @@ + + + + + + + +GRRLIB: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/globals_func.html b/globals_func.html new file mode 100644 index 0000000..823e3d8 --- /dev/null +++ b/globals_func.html @@ -0,0 +1,347 @@ + + + + + + + +GRRLIB: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+  + +

- g -

+
+ + + + diff --git a/globals_type.html b/globals_type.html new file mode 100644 index 0000000..74e14e5 --- /dev/null +++ b/globals_type.html @@ -0,0 +1,90 @@ + + + + + + + +GRRLIB: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/globals_vars.html b/globals_vars.html new file mode 100644 index 0000000..464a9bf --- /dev/null +++ b/globals_vars.html @@ -0,0 +1,75 @@ + + + + + + + +GRRLIB: Globals + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+ + + + diff --git a/group___all_func.html b/group___all_func.html new file mode 100644 index 0000000..12f9942 --- /dev/null +++ b/group___all_func.html @@ -0,0 +1,4679 @@ + + + + + + + +GRRLIB: Everything in GRRLIB + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+ +
+
Everything in GRRLIB
+
+
+ +

This is the complete list of functions, structures, defines, typedefs, enumerations and variables you may want to used to make your homebrew with GRRLIB. +More...

+ + + + + + + + + + + + + + + + + +

+Data Structures

struct  GRRLIB_drawSettings
 Structure to hold the current drawing settings. More...
 
struct  GRRLIB_texImg
 Structure to hold the texture information. More...
 
struct  GRRLIB_bytemapChar
 Structure to hold the bytemap character information. More...
 
struct  GRRLIB_bytemapFont
 Structure to hold the bytemap font information. More...
 
struct  GRRLIB_Font
 Structure to hold the TTF information. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define GRRLIB_VER_STRING   "4.4.0"
 Version information for GRRLIB.
 
#define R(c)   (((c) >>24) &0xFF)
 Extract red component of colour. More...
 
#define G(c)   (((c) >>16) &0xFF)
 Extract green component of colour. More...
 
#define B(c)   (((c) >> 8) &0xFF)
 Extract blue component of colour. More...
 
#define A(c)   ( (c) &0xFF)
 Extract alpha component of colour. More...
 
#define RGBA(r, g, b, a)
 Build an RGB pixel from components. More...
 
#define GRRLIB_BLEND_NONE   (GRRLIB_BLEND_ALPHA)
 Alias for GRRLIB_BLEND_ALPHA. More...
 
#define GRRLIB_BLEND_LIGHT   (GRRLIB_BLEND_ADD)
 Alias for GRRLIB_BLEND_ADD. More...
 
#define GRRLIB_BLEND_SHADE   (GRRLIB_BLEND_MULTI)
 Alias for GRRLIB_BLEND_MULTI. More...
 
+#define GRR_EXTERN   extern
 
+#define GRR_INIT(v)
 
+#define GRR_INITS(...)
 
+#define INLINE   static inline
 
+ + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef enum GRRLIB_blendMode GRRLIB_blendMode
 GRRLIB Blending Modes.
 
+typedef struct GRRLIB_drawSettings GRRLIB_drawSettings
 Structure to hold the current drawing settings.
 
+typedef struct GRRLIB_texImg GRRLIB_texImg
 Structure to hold the texture information.
 
+typedef struct GRRLIB_bytemapChar GRRLIB_bytemapChar
 Structure to hold the bytemap character information.
 
+typedef struct GRRLIB_bytemapFont GRRLIB_bytemapFont
 Structure to hold the bytemap font information.
 
+typedef struct GRRLIB_Font GRRLIB_ttfFont
 Structure to hold the TTF information.
 
+ + + + +

+Enumerations

enum  GRRLIB_blendMode {
+  GRRLIB_BLEND_ALPHA = 0, +GRRLIB_BLEND_ADD = 1, +GRRLIB_BLEND_SCREEN = 2, +GRRLIB_BLEND_MULTI = 3, +
+  GRRLIB_BLEND_INV = 4 +
+ }
 GRRLIB Blending Modes. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Functions

+GRR_EXTERN void *xfb [2] GRR_INITS (NULL, NULL)
 
+GRR_EXTERN u32 fb GRR_INIT (0)
 
+INLINE void GRRLIB_ClipReset (void)
 Reset the clipping to normal.
 
INLINE void GRRLIB_ClipDrawing (const int x, const int y, const int width, const int height)
 Clip the drawing area to an rectangle. More...
 
INLINE bool GRRLIB_PtInRect (const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady)
 Determine whether the specified point lies within the specified rectangle. More...
 
INLINE bool GRRLIB_RectInRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a specified rectangle lies within another rectangle. More...
 
INLINE bool GRRLIB_RectOnRect (const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h)
 Determine whether a part of a specified rectangle lies on another rectangle. More...
 
INLINE void GRRLIB_NPlot (const guVector v[], const u32 color[], const long n)
 Draw an array of points. More...
 
INLINE void GRRLIB_NGone (const guVector v[], const u32 color[], const long n)
 Draw a polygon. More...
 
INLINE void GRRLIB_NGoneFilled (const guVector v[], const u32 color[], const long n)
 Draw a filled polygon. More...
 
INLINE void GRRLIB_GXEngine (const guVector v[], const u32 color[], const long n, const u8 fmt)
 Draws a vector. More...
 
INLINE void GRRLIB_FillScreen (const u32 color)
 Clear screen with a specific color. More...
 
INLINE void GRRLIB_Plot (const f32 x, const f32 y, const u32 color)
 Draw a dot. More...
 
INLINE void GRRLIB_Line (const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color)
 Draw a line. More...
 
INLINE void GRRLIB_Rectangle (const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled)
 Draw a rectangle. More...
 
INLINE void GRRLIB_SetHandle (GRRLIB_texImg *tex, const int x, const int y)
 Set a texture's X and Y handles. More...
 
INLINE void GRRLIB_SetMidHandle (GRRLIB_texImg *tex, const bool enabled)
 Center a texture's handles. More...
 
INLINE u32 GRRLIB_GetPixelFromtexImg (const int x, const int y, const GRRLIB_texImg *tex)
 Return the color value of a pixel from a GRRLIB_texImg. More...
 
INLINE void GRRLIB_SetPixelTotexImg (const int x, const int y, GRRLIB_texImg *tex, const u32 color)
 Set the color value of a pixel to a GRRLIB_texImg. More...
 
INLINE u32 GRRLIB_GetPixelFromFB (int x, int y)
 Reads a pixel directly from the FrontBuffer. More...
 
INLINE void GRRLIB_SetPixelToFB (int x, int y, u32 pokeColor)
 Writes a pixel directly from the FrontBuffer. More...
 
INLINE void GRRLIB_SetBlend (const GRRLIB_blendMode blendmode)
 Set a blending mode. More...
 
INLINE GRRLIB_blendMode GRRLIB_GetBlend (void)
 Get the current blending mode. More...
 
INLINE void GRRLIB_SetAntiAliasing (const bool aa)
 Turn anti-aliasing on/off. More...
 
INLINE bool GRRLIB_GetAntiAliasing (void)
 Get current anti-aliasing setting. More...
 
INLINE void GRRLIB_ClearTex (GRRLIB_texImg *tex)
 Clear a texture to transparent black. More...
 
INLINE void GRRLIB_FlushTex (GRRLIB_texImg *tex)
 Write the contents of a texture in the data cache down to main memory. More...
 
INLINE void GRRLIB_FreeTexture (GRRLIB_texImg *tex)
 Free memory allocated for texture. More...
 
GRRLIB_bytemapFontGRRLIB_LoadBMF (const u8 my_bmf[])
 Load a ByteMap font structure from a buffer. More...
 
void GRRLIB_FreeBMF (GRRLIB_bytemapFont *bmf)
 Free memory allocated by ByteMap fonts. More...
 
void GRRLIB_InitTileSet (GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart)
 Initialize a tile set. More...
 
void GRRLIB_BMFX_FlipH (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture horizontal. More...
 
void GRRLIB_BMFX_FlipV (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Flip texture vertical. More...
 
void GRRLIB_BMFX_Grayscale (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to gray scale. More...
 
void GRRLIB_BMFX_Sepia (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Change a texture to sepia (old photo style). More...
 
void GRRLIB_BMFX_Invert (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest)
 Invert colors of the texture. More...
 
void GRRLIB_BMFX_Blur (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Blur). More...
 
void GRRLIB_BMFX_Scatter (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Scatter). More...
 
void GRRLIB_BMFX_Pixelate (const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor)
 A texture effect (Pixelate). More...
 
int GRRLIB_Init (void)
 Initialize GRRLIB. More...
 
void GRRLIB_Exit (void)
 Call this before exiting your application. More...
 
void GRRLIB_Circle (const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled)
 Draw a circle. More...
 
int GRRLIB_LoadFile (const char *filename, u8 **data)
 Load a file to memory. More...
 
GRRLIB_texImgGRRLIB_LoadTextureFromFile (const char *filename)
 Load a texture from a file. More...
 
bool GRRLIB_ScrShot (const char *filename)
 Make a PNG screenshot. More...
 
void GRRLIB_Printf (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...)
 Print formatted output. More...
 
void GRRLIB_PrintBMF (const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...)
 Print formatted output with a ByteMap font. More...
 
void GRRLIB_DrawImg (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a texture. More...
 
void GRRLIB_DrawImgQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color)
 Draw a textured quad. More...
 
void GRRLIB_DrawTile (const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame)
 Draw a tile. More...
 
void GRRLIB_DrawPart (const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color)
 Draw a part of a texture. More...
 
void GRRLIB_DrawTileQuad (const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame)
 Draw a tile in a quad. More...
 
+void GRRLIB_Render (void)
 Call this function after drawing.
 
void GRRLIB_Screen2Texture (int posx, int posy, GRRLIB_texImg *tex, bool clear)
 Make a snapshot of the screen in a texture WITHOUT ALPHA LAYER. More...
 
void GRRLIB_CompoStart (void)
 Start GX compositing process. More...
 
void GRRLIB_CompoEnd (int posx, int posy, GRRLIB_texImg *tex)
 End GX compositing process (Make a snapshot of the screen in a texture WITH ALPHA LAYER). More...
 
GRRLIB_texImgGRRLIB_CreateEmptyTexture (const u32 w, const u32 h)
 Create an empty texture. More...
 
GRRLIB_texImgGRRLIB_LoadTexture (const u8 *my_img)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTexturePNG (const u8 *my_png)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTextureJPG (const u8 *my_jpg)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTextureJPGEx (const u8 *my_jpg, const int)
 Load a texture from a buffer. More...
 
GRRLIB_texImgGRRLIB_LoadTextureBMP (const u8 *my_bmp)
 Load a texture from a buffer. More...
 
bool GRRLIB_GeckoInit ()
 Initialize USB Gecko. More...
 
void GRRLIB_GeckoPrintf (const char *text,...)
 Print Gecko. More...
 
void GRRLIB_SetBackgroundColour (u8 r, u8 g, u8 b, u8 a)
 Set the background parameter when screen is cleared. More...
 
void GRRLIB_Camera3dSettings (f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz)
 Set the camera parameter (contributed my chris_c aka DaShAmAn). More...
 
void GRRLIB_3dMode (f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode)
 Set up the position matrix (contributed by chris_c aka DaShAmAn). More...
 
+void GRRLIB_2dMode ()
 Go back to 2D mode (contributed by chris_c aka DaShAmAn).
 
+void GRRLIB_ObjectViewBegin (void)
 Init the object matrix to draw object.
 
void GRRLIB_ObjectViewScale (f32 scalx, f32 scaly, f32 scalz)
 Scale the object matrix to draw object. More...
 
void GRRLIB_ObjectViewRotate (f32 angx, f32 angy, f32 angz)
 Rotate the object matrix to draw object . More...
 
void GRRLIB_ObjectViewTrans (f32 posx, f32 posy, f32 posz)
 Translate the object matrix to draw object. More...
 
+void GRRLIB_ObjectViewEnd (void)
 Concat the object and the view matrix and calculate the inverse normal matrix.
 
void GRRLIB_ObjectView (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, rotate AND trans). More...
 
void GRRLIB_ObjectViewInv (f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz)
 Set the view matrix to draw object (in this order scale, trans AND rotate). More...
 
void GRRLIB_SetTexture (GRRLIB_texImg *tex, bool rep)
 Set the texture to an object (contributed by chris_c aka DaShAmAn). More...
 
void GRRLIB_DrawTorus (f32 r, f32 R, int nsides, int rings, bool filled, u32 col)
 Draw a torus (with normal). More...
 
void GRRLIB_DrawSphere (f32 r, int lats, int longs, bool filled, u32 col)
 Draw a sphere (with normal). More...
 
void GRRLIB_DrawCube (f32 size, bool filled, u32 col)
 Draw a cube (with normal). More...
 
void GRRLIB_DrawCylinder (f32 r, f32 h, int d, bool filled, u32 col)
 Draw a cylinder (with normal). More...
 
void GRRLIB_DrawCone (f32 r, f32 h, int d, bool filled, u32 col)
 Draw a cone (with normal). More...
 
void GRRLIB_DrawTessPanel (f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col)
 Draw a Tesselated panel (with normal). More...
 
void GRRLIB_SetLightAmbient (u32 ambientcolor)
 Set ambient color. More...
 
void GRRLIB_SetLightDiff (u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor)
 Set diffuse light parameters. More...
 
void GRRLIB_SetLightSpec (u8 num, guVector dir, f32 shy, u32 lightcolor, u32 speccolor)
 Set specular light parameters. More...
 
void GRRLIB_SetLightSpot (u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor)
 Set Spot light parameters. More...
 
+void GRRLIB_SetLightOff (void)
 Set all lights off, like at init.
 
GRRLIB_ttfFontGRRLIB_LoadTTF (const u8 *file_base, s32 file_size)
 Load a TTF from a buffer. More...
 
void GRRLIB_FreeTTF (GRRLIB_ttfFont *myFont)
 Free memory allocated by TTF fonts. More...
 
void GRRLIB_PrintfTTF (int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color)
 Print function for TTF font. More...
 
void GRRLIB_PrintfTTFW (int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color)
 Print function for TTF font. More...
 
u32 GRRLIB_WidthTTF (GRRLIB_ttfFont *myFont, const char *, unsigned int)
 Get the width of a text in pixel. More...
 
u32 GRRLIB_WidthTTFW (GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int)
 Get the width of a text in pixel. More...
 
+ + + + +

+Variables

GRR_EXTERN GXRModeObj * rmode
 Video mode. More...
 
+

Detailed Description

+

This is the complete list of functions, structures, defines, typedefs, enumerations and variables you may want to used to make your homebrew with GRRLIB.

+

You simply need to include grrlib.h in your project to have access to all of these.

+

Macro Definition Documentation

+ +

◆ A

+ +
+
+ + + + + + + + +
#define A( c)   ( (c) &0xFF)
+
+ +

Extract alpha component of colour.

+ +
+
+ +

◆ B

+ +
+
+ + + + + + + + +
#define B( c)   (((c) >> 8) &0xFF)
+
+ +

Extract blue component of colour.

+ +
+
+ +

◆ G

+ +
+
+ + + + + + + + +
#define G( c)   (((c) >>16) &0xFF)
+
+ +

Extract green component of colour.

+ +
+
+ +

◆ GRRLIB_BLEND_LIGHT

+ +
+
+ + + + +
#define GRRLIB_BLEND_LIGHT   (GRRLIB_BLEND_ADD)
+
+ +

Alias for GRRLIB_BLEND_ADD.

+ +
+
+ +

◆ GRRLIB_BLEND_NONE

+ +
+
+ + + + +
#define GRRLIB_BLEND_NONE   (GRRLIB_BLEND_ALPHA)
+
+ +

Alias for GRRLIB_BLEND_ALPHA.

+ +
+
+ +

◆ GRRLIB_BLEND_SHADE

+ +
+
+ + + + +
#define GRRLIB_BLEND_SHADE   (GRRLIB_BLEND_MULTI)
+
+ +

Alias for GRRLIB_BLEND_MULTI.

+ +
+
+ +

◆ R

+ +
+
+ + + + + + + + +
#define R( c)   (((c) >>24) &0xFF)
+
+ +

Extract red component of colour.

+ +
+
+ +

◆ RGBA

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
#define RGBA( r,
 g,
 b,
 
)
+
+Value:
( (u32)( ( ((u32)(r)) <<24) | \
((((u32)(g)) &0xFF) <<16) | \
((((u32)(b)) &0xFF) << 8) | \
( ((u32)(a)) &0xFF ) ) )
+

Build an RGB pixel from components.

+
Parameters
+ + + + + +
rRed component.
gGreen component.
bBlue component.
aAlpha component.
+
+
+ +
+
+

Enumeration Type Documentation

+ +

◆ GRRLIB_blendMode

+ +
+
+ + + + +
enum GRRLIB_blendMode
+
+ +

GRRLIB Blending Modes.

+ + + + + + +
Enumerator
GRRLIB_BLEND_ALPHA 

Alpha Blending.

+
GRRLIB_BLEND_ADD 

Additive Blending.

+
GRRLIB_BLEND_SCREEN 

Alpha Light Blending.

+
GRRLIB_BLEND_MULTI 

Multiply Blending.

+
GRRLIB_BLEND_INV 

Invert Color Blending.

+
+ +
+
+

Function Documentation

+ +

◆ GRRLIB_3dMode()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_3dMode (f32 minDist,
f32 maxDist,
f32 fov,
bool texturemode,
bool normalmode 
)
+
+ +

Set up the position matrix (contributed by chris_c aka DaShAmAn).

+
Parameters
+ + + + + + +
minDistMinimal distance for the camera.
maxDistMaximal distance for the camera.
fovField of view for the camera.
texturemodeFalse, GX won't need texture coordinate, True, GX will need texture coordinate.
normalmodeFalse, GX won't need normal coordinate, True, GX will need normal coordinate.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_Blur()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_Blur (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest,
const u32 factor 
)
+
+ +

A texture effect (Blur).

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + + +
texsrcThe texture source.
texdestThe texture destination.
factorThe blur factor.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_FlipH()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_FlipH (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest 
)
+
+ +

Flip texture horizontal.

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + +
texsrcThe texture source.
texdestThe texture destination.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_FlipV()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_FlipV (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest 
)
+
+ +

Flip texture vertical.

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + +
texsrcThe texture source.
texdestThe texture destination.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_Grayscale()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_Grayscale (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest 
)
+
+ +

Change a texture to gray scale.

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + +
texsrcThe texture source.
texdestThe texture grayscaled destination.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_Invert()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_Invert (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest 
)
+
+ +

Invert colors of the texture.

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + +
texsrcThe texture source.
texdestThe texture destination.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_Pixelate()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_Pixelate (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest,
const u32 factor 
)
+
+ +

A texture effect (Pixelate).

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + + +
texsrcThe texture source.
texdestThe texture destination.
factorThe factor level of the effect.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_Scatter()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_Scatter (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest,
const u32 factor 
)
+
+ +

A texture effect (Scatter).

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + + +
texsrcThe texture source.
texdestThe texture destination.
factorThe factor level of the effect.
+
+
+ +
+
+ +

◆ GRRLIB_BMFX_Sepia()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GRRLIB_BMFX_Sepia (const GRRLIB_texImgtexsrc,
GRRLIB_texImgtexdest 
)
+
+ +

Change a texture to sepia (old photo style).

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + +
texsrcThe texture source.
texdestThe texture destination.
+
+
+
Author
elisherer
+ +
+
+ +

◆ GRRLIB_Camera3dSettings()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_Camera3dSettings (f32 posx,
f32 posy,
f32 posz,
f32 upx,
f32 upy,
f32 upz,
f32 lookx,
f32 looky,
f32 lookz 
)
+
+ +

Set the camera parameter (contributed my chris_c aka DaShAmAn).

+
Parameters
+ + + + + + + + + + +
posxx position of the camera.
posyy position of the camera.
poszz position of the camera.
upxAlpha component.
upyAlpha component.
upzAlpha component.
lookxx up position of the camera.
lookyy up position of the camera.
lookzz up position of the camera.
+
+
+ +
+
+ +

◆ GRRLIB_Circle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_Circle (const f32 x,
const f32 y,
const f32 radius,
const u32 color,
const u8 filled 
)
+
+ +

Draw a circle.

+
Author
Dark_Link
+
Parameters
+ + + + + + +
xSpecifies the x-coordinate of the circle.
ySpecifies the y-coordinate of the circle.
radiusThe radius of the circle.
colorThe color of the circle in RGBA format.
filledSet to true to fill the circle.
+
+
+ +
+
+ +

◆ GRRLIB_ClearTex()

+ +
+
+ + + + + + + + +
INLINE void GRRLIB_ClearTex (GRRLIB_texImgtex)
+
+ +

Clear a texture to transparent black.

+
Parameters
+ + +
texTexture to clear.
+
+
+ +
+
+ +

◆ GRRLIB_ClipDrawing()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_ClipDrawing (const int x,
const int y,
const int width,
const int height 
)
+
+ +

Clip the drawing area to an rectangle.

+
Parameters
+ + + + + +
xThe x-coordinate of the rectangle.
yThe y-coordinate of the rectangle.
widthThe width of the rectangle.
heightThe height of the rectangle.
+
+
+ +
+
+ +

◆ GRRLIB_CompoEnd()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_CompoEnd (int posx,
int posy,
GRRLIB_texImgtex 
)
+
+ +

End GX compositing process (Make a snapshot of the screen in a texture WITH ALPHA LAYER).

+

EFB is cleared after this function.

See also
GRRLIB_CompoStart
+
Parameters
+ + + + +
posxtop left corner of the grabbed part.
posytop left corner of the grabbed part.
texA pointer to a texture representing the screen or NULL if an error occurs.
+
+
+ +
+
+ +

◆ GRRLIB_CompoStart()

+ +
+
+ + + + + + + + +
void GRRLIB_CompoStart (void )
+
+ +

Start GX compositing process.

+
See also
GRRLIB_CompoEnd
+ +
+
+ +

◆ GRRLIB_CreateEmptyTexture()

+ +
+
+ + + + + + + + + + + + + + + + + + +
GRRLIB_texImg* GRRLIB_CreateEmptyTexture (const u32 w,
const u32 h 
)
+
+ +

Create an empty texture.

+
Parameters
+ + + +
wWidth of the new texture to create.
hHeight of the new texture to create.
+
+
+
Returns
A GRRLIB_texImg structure newly created.
+ +
+
+ +

◆ GRRLIB_DrawCone()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawCone (f32 r,
f32 h,
int d,
bool filled,
u32 col 
)
+
+ +

Draw a cone (with normal).

+
Parameters
+ + + + + + +
rRadius of the cone.
hHigh of the cone.
dDensity of slice.
filledWired or not.
colColor of the cone.
+
+
+ +
+
+ +

◆ GRRLIB_DrawCube()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawCube (f32 size,
bool filled,
u32 col 
)
+
+ +

Draw a cube (with normal).

+
Parameters
+ + + + +
sizeSize of the cube edge.
filledWired or not.
colColor of the cube.
+
+
+ +
+
+ +

◆ GRRLIB_DrawCylinder()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawCylinder (f32 r,
f32 h,
int d,
bool filled,
u32 col 
)
+
+ +

Draw a cylinder (with normal).

+
Parameters
+ + + + + + +
rRadius of the cylinder.
hHigh of the cylinder.
dDensity of slice.
filledWired or not.
colColor of the cylinder.
+
+
+ +
+
+ +

◆ GRRLIB_DrawImg()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawImg (const f32 xpos,
const f32 ypos,
const GRRLIB_texImgtex,
const f32 degrees,
const f32 scaleX,
const f32 scaleY,
const u32 color 
)
+
+ +

Draw a texture.

+
Parameters
+ + + + + + + + +
xposSpecifies the x-coordinate of the upper-left corner.
yposSpecifies the y-coordinate of the upper-left corner.
texThe texture to draw.
degreesAngle of rotation.
scaleXSpecifies the x-coordinate scale. -1 could be used for flipping the texture horizontally.
scaleYSpecifies the y-coordinate scale. -1 could be used for flipping the texture vertically.
colorColor in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_DrawImgQuad()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawImgQuad (const guVector pos[4],
GRRLIB_texImgtex,
const u32 color 
)
+
+ +

Draw a textured quad.

+
Parameters
+ + + + +
posVector array of the 4 points.
texThe texture to draw.
colorColor in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_DrawPart()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawPart (const f32 xpos,
const f32 ypos,
const f32 partx,
const f32 party,
const f32 partw,
const f32 parth,
const GRRLIB_texImgtex,
const f32 degrees,
const f32 scaleX,
const f32 scaleY,
const u32 color 
)
+
+ +

Draw a part of a texture.

+
Parameters
+ + + + + + + + + + + + +
xposSpecifies the x-coordinate of the upper-left corner.
yposSpecifies the y-coordinate of the upper-left corner.
partxSpecifies the x-coordinate of the upper-left corner in the texture.
partySpecifies the y-coordinate of the upper-left corner in the texture.
partwSpecifies the width in the texture.
parthSpecifies the height in the texture.
texThe texture containing the tile to draw.
degreesAngle of rotation.
scaleXSpecifies the x-coordinate scale. -1 could be used for flipping the texture horizontally.
scaleYSpecifies the y-coordinate scale. -1 could be used for flipping the texture vertically.
colorColor in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_DrawSphere()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawSphere (f32 r,
int lats,
int longs,
bool filled,
u32 col 
)
+
+ +

Draw a sphere (with normal).

+
Parameters
+ + + + + + +
rRadius of the sphere.
latsNumber of latitudes.
longsNumber of longitudes.
filledWired or not.
colColor of the sphere.
+
+
+ +
+
+ +

◆ GRRLIB_DrawTessPanel()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawTessPanel (f32 w,
f32 wstep,
f32 h,
f32 hstep,
bool filled,
u32 col 
)
+
+ +

Draw a Tesselated panel (with normal).

+
Parameters
+ + + + + + + +
wWidth of the panel.
wstepSize of width slices.
hHeight of the panel.
hstepSize the de height slices.
filledWired or not.
colColor in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_DrawTile()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawTile (const f32 xpos,
const f32 ypos,
const GRRLIB_texImgtex,
const f32 degrees,
const f32 scaleX,
const f32 scaleY,
const u32 color,
const int frame 
)
+
+ +

Draw a tile.

+
Parameters
+ + + + + + + + + +
xposSpecifies the x-coordinate of the upper-left corner.
yposSpecifies the y-coordinate of the upper-left corner.
texThe texture containing the tile to draw.
degreesAngle of rotation.
scaleXSpecifies the x-coordinate scale. -1 could be used for flipping the texture horizontally.
scaleYSpecifies the y-coordinate scale. -1 could be used for flipping the texture vertically.
colorColor in RGBA format.
frameSpecifies the frame to draw.
+
+
+ +
+
+ +

◆ GRRLIB_DrawTileQuad()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawTileQuad (const guVector pos[4],
GRRLIB_texImgtex,
const u32 color,
const int frame 
)
+
+ +

Draw a tile in a quad.

+
Parameters
+ + + + + +
posVector array of the 4 points.
texThe texture to draw.
colorColor in RGBA format.
frameSpecifies the frame to draw.
+
+
+ +
+
+ +

◆ GRRLIB_DrawTorus()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_DrawTorus (f32 r,
f32 R,
int nsides,
int rings,
bool filled,
u32 col 
)
+
+ +

Draw a torus (with normal).

+
Parameters
+ + + + + + + +
rRadius of the ring.
RRadius of the torus.
nsidesNumber of faces per ring.
ringsNumber of rings.
filledWired or not.
colColor of the torus.
+
+
+ +
+
+ +

◆ GRRLIB_Exit()

+ +
+
+ + + + + + + + +
void GRRLIB_Exit (void )
+
+ +

Call this before exiting your application.

+

Ensure this function is only ever called once and only if the setup function has been called.

+ +
+
+ +

◆ GRRLIB_FillScreen()

+ +
+
+ + + + + + + + +
INLINE void GRRLIB_FillScreen (const u32 color)
+
+ +

Clear screen with a specific color.

+
Parameters
+ + +
colorThe color to use to fill the screen.
+
+
+ +
+
+ +

◆ GRRLIB_FlushTex()

+ +
+
+ + + + + + + + +
INLINE void GRRLIB_FlushTex (GRRLIB_texImgtex)
+
+ +

Write the contents of a texture in the data cache down to main memory.

+

For performance the CPU holds a data cache where modifications are stored before they get written down to main memory.

Parameters
+ + +
texThe texture to flush.
+
+
+ +
+
+ +

◆ GRRLIB_FreeBMF()

+ +
+
+ + + + + + + + +
void GRRLIB_FreeBMF (GRRLIB_bytemapFontbmf)
+
+ +

Free memory allocated by ByteMap fonts.

+

If bmf is a null pointer, the function does nothing.

Note
This function does not change the value of bmf itself, hence it still points to the same (now invalid) location.
+
Parameters
+ + +
bmfA GRRLIB_bytemapFont structure.
+
+
+ +
+
+ +

◆ GRRLIB_FreeTexture()

+ +
+
+ + + + + + + + +
INLINE void GRRLIB_FreeTexture (GRRLIB_texImgtex)
+
+ +

Free memory allocated for texture.

+

If tex is a null pointer, the function does nothing.

Note
This function does not change the value of tex itself, hence it still points to the same (now invalid) location.
+
Parameters
+ + +
texA GRRLIB_texImg structure.
+
+
+ +
+
+ +

◆ GRRLIB_FreeTTF()

+ +
+
+ + + + + + + + +
void GRRLIB_FreeTTF (GRRLIB_ttfFontmyFont)
+
+ +

Free memory allocated by TTF fonts.

+

If myFont is a null pointer, the function does nothing.

Note
This function does not change the value of myFont itself, hence it still points to the same (now invalid) location.
+
Parameters
+ + +
myFontA TTF.
+
+
+ +
+
+ +

◆ GRRLIB_GeckoInit()

+ +
+
+ + + + + + + +
bool GRRLIB_GeckoInit ()
+
+ +

Initialize USB Gecko.

+
Returns
bool true=everything worked, false=problems occurred.
+ +
+
+ +

◆ GRRLIB_GeckoPrintf()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GRRLIB_GeckoPrintf (const char * text,
 ... 
)
+
+ +

Print Gecko.

+
Parameters
+ + + +
textText to print.
...Optional arguments.
+
+
+ +
+
+ +

◆ GRRLIB_GetAntiAliasing()

+ +
+
+ + + + + + + + +
INLINE bool GRRLIB_GetAntiAliasing (void )
+
+ +

Get current anti-aliasing setting.

+
Returns
True if anti-aliasing is enabled.
+ +
+
+ +

◆ GRRLIB_GetBlend()

+ +
+
+ + + + + + + + +
INLINE GRRLIB_blendMode GRRLIB_GetBlend (void )
+
+ +

Get the current blending mode.

+
Returns
The current blending mode.
+ +
+
+ +

◆ GRRLIB_GetPixelFromFB()

+ +
+
+ + + + + + + + + + + + + + + + + + +
INLINE u32 GRRLIB_GetPixelFromFB (int x,
int y 
)
+
+ +

Reads a pixel directly from the FrontBuffer.

+
Parameters
+ + + +
xThe x-coordinate within the FB.
yThe y-coordinate within the FB.
+
+
+
Returns
The color of a pixel in RGBA format.
+ +
+
+ +

◆ GRRLIB_GetPixelFromtexImg()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INLINE u32 GRRLIB_GetPixelFromtexImg (const int x,
const int y,
const GRRLIB_texImgtex 
)
+
+ +

Return the color value of a pixel from a GRRLIB_texImg.

+
Parameters
+ + + + +
xSpecifies the x-coordinate of the pixel in the texture.
ySpecifies the y-coordinate of the pixel in the texture.
texThe texture to get the color from.
+
+
+
Returns
The color of a pixel in RGBA format.
+ +
+
+ +

◆ GRRLIB_GXEngine()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_GXEngine (const guVector v[],
const u32 color[],
const long n,
const u8 fmt 
)
+
+ +

Draws a vector.

+
Parameters
+ + + + + +
vThe vector to draw.
colorThe color of the vector in RGBA format.
nNumber of points in the vector.
fmtType of primitive.
+
+
+ +
+
+ +

◆ GRRLIB_Init()

+ +
+
+ + + + + + + + +
int GRRLIB_Init (void )
+
+ +

Initialize GRRLIB.

+

Call this once at the beginning your code.

Returns
A integer representing a code:
    +
  • 0 : The operation completed successfully.
  • +
  • -1 : Not enough memory is available to initialize GRRLIB.
  • +
  • -2 : Failed to add the fat device driver to the devoptab.
  • +
  • -3 : Failed to initialize the font engine.
  • +
+
+
See also
GRRLIB_Exit
+ +
+
+ +

◆ GRRLIB_InitTileSet()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_InitTileSet (GRRLIB_texImgtex,
const u32 tilew,
const u32 tileh,
const u32 tilestart 
)
+
+ +

Initialize a tile set.

+
Parameters
+ + + + + +
texThe texture to initialize.
tilewWidth of the tile.
tilehHeight of the tile.
tilestartOffset for starting position (Used in fonts).
+
+
+ +
+
+ +

◆ GRRLIB_Line()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_Line (const f32 x1,
const f32 y1,
const f32 x2,
const f32 y2,
const u32 color 
)
+
+ +

Draw a line.

+
Parameters
+ + + + + + +
x1Starting point for line for the x coordinate.
y1Starting point for line for the y coordinate.
x2Ending point for line for the x coordinate.
y2Ending point for line for the x coordinate.
colorLine color in RGBA format.
+
+
+
Author
JESPA
+ +
+
+ +

◆ GRRLIB_LoadBMF()

+ +
+
+ + + + + + + + +
GRRLIB_bytemapFont* GRRLIB_LoadBMF (const u8 my_bmf[])
+
+ +

Load a ByteMap font structure from a buffer.

+

File format version 1.1 is used, more information could be found at https://bmf.php5.cz/?page=format

Parameters
+ + +
my_bmfThe ByteMap font buffer to load.
+
+
+
Returns
A GRRLIB_bytemapFont structure filled with BMF information.
+
See also
GRRLIB_FreeBMF
+ +
+
+ +

◆ GRRLIB_LoadFile()

+ +
+
+ + + + + + + + + + + + + + + + + + +
int GRRLIB_LoadFile (const char * filename,
u8 ** data 
)
+
+ +

Load a file to memory.

+
Parameters
+ + + +
filenameName of the file to be loaded.
dataPointer-to-your-pointer. Ie. { u8 *data; GRRLIB_LoadFile("file", &data); }. It is your responsibility to free the memory allocated by this function.
+
+
+
Returns
A integer representing a code:
    +
  • 0 : EmptyFile.
  • +
  • -1 : FileNotFound.
  • +
  • -2 : OutOfMemory.
  • +
  • -3 : FileReadError.
  • +
  • >0 : FileLength.
  • +
+
+ +
+
+ +

◆ GRRLIB_LoadTexture()

+ +
+
+ + + + + + + + +
GRRLIB_texImg* GRRLIB_LoadTexture (const u8 * my_img)
+
+ +

Load a texture from a buffer.

+
Parameters
+ + +
my_imgThe JPEG, PNG or Bitmap buffer to load.
+
+
+
Returns
A GRRLIB_texImg structure filled with image information.
+ +
+
+ +

◆ GRRLIB_LoadTextureBMP()

+ +
+
+ + + + + + + + +
GRRLIB_texImg* GRRLIB_LoadTextureBMP (const u8 * my_bmp)
+
+ +

Load a texture from a buffer.

+

It only works for the MS-Windows standard format uncompressed (1-bit, 4-bit, 8-bit, 24-bit and 32-bit).

Parameters
+ + +
my_bmpthe Bitmap buffer to load.
+
+
+
Returns
A GRRLIB_texImg structure filled with image information.
+ +
+
+ +

◆ GRRLIB_LoadTextureFromFile()

+ +
+
+ + + + + + + + +
GRRLIB_texImg* GRRLIB_LoadTextureFromFile (const char * filename)
+
+ +

Load a texture from a file.

+
Parameters
+ + +
filenameThe JPEG, PNG or Bitmap filename to load.
+
+
+
Returns
A GRRLIB_texImg structure filled with image information. If an error occurs NULL will be returned.
+ +
+
+ +

◆ GRRLIB_LoadTextureJPG()

+ +
+
+ + + + + + + + +
GRRLIB_texImg* GRRLIB_LoadTextureJPG (const u8 * my_jpg)
+
+ +

Load a texture from a buffer.

+

Take care to have the JPG finish with 0xFF 0xD9!

Parameters
+ + +
my_jpgThe JPEG buffer to load.
+
+
+
Returns
A GRRLIB_texImg structure filled with image information.
+ +
+
+ +

◆ GRRLIB_LoadTextureJPGEx()

+ +
+
+ + + + + + + + + + + + + + + + + + +
GRRLIB_texImg* GRRLIB_LoadTextureJPGEx (const u8 * my_jpg,
const int my_size 
)
+
+ +

Load a texture from a buffer.

+
Author
DrTwox
+
Parameters
+ + + +
my_jpgThe JPEG buffer to load.
my_sizeSize of the JPEG buffer to load.
+
+
+
Returns
A GRRLIB_texImg structure filled with image information.
+ +
+
+ +

◆ GRRLIB_LoadTexturePNG()

+ +
+
+ + + + + + + + +
GRRLIB_texImg* GRRLIB_LoadTexturePNG (const u8 * my_png)
+
+ +

Load a texture from a buffer.

+
Parameters
+ + +
my_pngthe PNG buffer to load.
+
+
+
Returns
A GRRLIB_texImg structure filled with image information. If image size is not correct, the texture will be completely transparent.
+ +
+
+ +

◆ GRRLIB_LoadTTF()

+ +
+
+ + + + + + + + + + + + + + + + + + +
GRRLIB_ttfFont* GRRLIB_LoadTTF (const u8 * file_base,
s32 file_size 
)
+
+ +

Load a TTF from a buffer.

+
Parameters
+ + + +
file_baseBuffer with TTF data. You must not deallocate the memory before calling GRRLIB_FreeTTF.
file_sizeSize of the TTF buffer.
+
+
+
Returns
A handle to a given TTF font object or NULL if it fails to load the font.
+
See also
GRRLIB_FreeTTF
+ +
+
+ +

◆ GRRLIB_NGone()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_NGone (const guVector v[],
const u32 color[],
const long n 
)
+
+ +

Draw a polygon.

+
Parameters
+ + + + +
vThe vector containing the coordinates of the polygon.
colorThe color of the filled polygon in RGBA format.
nNumber of points in the vector.
+
+
+ +
+
+ +

◆ GRRLIB_NGoneFilled()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_NGoneFilled (const guVector v[],
const u32 color[],
const long n 
)
+
+ +

Draw a filled polygon.

+
Parameters
+ + + + +
vThe vector containing the coordinates of the polygon.
colorThe color of the filled polygon in RGBA format.
nNumber of points in the vector.
+
+
+ +
+
+ +

◆ GRRLIB_NPlot()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_NPlot (const guVector v[],
const u32 color[],
const long n 
)
+
+ +

Draw an array of points.

+
Parameters
+ + + + +
vArray containing the points.
colorThe color of the points in RGBA format.
nNumber of points in the vector array.
+
+
+ +
+
+ +

◆ GRRLIB_ObjectView()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_ObjectView (f32 posx,
f32 posy,
f32 posz,
f32 angx,
f32 angy,
f32 angz,
f32 scalx,
f32 scaly,
f32 scalz 
)
+
+ +

Set the view matrix to draw object (in this order scale, rotate AND trans).

+
Parameters
+ + + + + + + + + + +
posxx position of the object.
posyy position of the object.
poszz position of the object.
angxx rotation angle of the object.
angyy rotation angle of the object.
angzz rotation angle of the object.
scalxx scale of the object.
scalyy scale of the object.
scalzz scale of the object.
+
+
+ +
+
+ +

◆ GRRLIB_ObjectViewInv()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_ObjectViewInv (f32 posx,
f32 posy,
f32 posz,
f32 angx,
f32 angy,
f32 angz,
f32 scalx,
f32 scaly,
f32 scalz 
)
+
+ +

Set the view matrix to draw object (in this order scale, trans AND rotate).

+
Parameters
+ + + + + + + + + + +
posxx position of the object.
posyy position of the object.
poszz position of the object.
angxx rotation angle of the object.
angyy rotation angle of the object.
angzz rotation angle of the object.
scalxx scale of the object.
scalyy scale of the object.
scalzz scale of the object.
+
+
+ +
+
+ +

◆ GRRLIB_ObjectViewRotate()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_ObjectViewRotate (f32 angx,
f32 angy,
f32 angz 
)
+
+ +

Rotate the object matrix to draw object .

+
Parameters
+ + + + +
angxx rotation angle of the object.
angyy rotation angle of the object.
angzz rotation angle of the object.
+
+
+ +
+
+ +

◆ GRRLIB_ObjectViewScale()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_ObjectViewScale (f32 scalx,
f32 scaly,
f32 scalz 
)
+
+ +

Scale the object matrix to draw object.

+
Parameters
+ + + + +
scalxx scale of the object.
scalyy scale of the object.
scalzz scale of the object.
+
+
+ +
+
+ +

◆ GRRLIB_ObjectViewTrans()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_ObjectViewTrans (f32 posx,
f32 posy,
f32 posz 
)
+
+ +

Translate the object matrix to draw object.

+
Parameters
+ + + + +
posxx position of the object.
posyy position of the object.
poszz position of the object.
+
+
+ +
+
+ +

◆ GRRLIB_Plot()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_Plot (const f32 x,
const f32 y,
const u32 color 
)
+
+ +

Draw a dot.

+
Parameters
+ + + + +
xSpecifies the x-coordinate of the dot.
ySpecifies the y-coordinate of the dot.
colorThe color of the dot in RGBA format.
+
+
+
Author
Jespa
+ +
+
+ +

◆ GRRLIB_PrintBMF()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_PrintBMF (const f32 xpos,
const f32 ypos,
const GRRLIB_bytemapFontbmf,
const char * text,
 ... 
)
+
+ +

Print formatted output with a ByteMap font.

+

This function could be slow, it should be used with GRRLIB_CompoStart and GRRLIB_CompoEnd.

Parameters
+ + + + + + +
xposSpecifies the x-coordinate of the upper-left corner of the text.
yposSpecifies the y-coordinate of the upper-left corner of the text.
bmfThe ByteMap font to use.
textText to draw.
...Optional arguments.
+
+
+ +
+
+ +

◆ GRRLIB_Printf()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_Printf (const f32 xpos,
const f32 ypos,
const GRRLIB_texImgtex,
const u32 color,
const f32 zoom,
const char * text,
 ... 
)
+
+ +

Print formatted output.

+
Parameters
+ + + + + + + + +
xposSpecifies the x-coordinate of the upper-left corner of the text.
yposSpecifies the y-coordinate of the upper-left corner of the text.
texThe texture containing the character set.
colorText color in RGBA format. The alpha channel is used to change the opacity of the text.
zoomThis is a factor by which the text size will be increase or decrease.
textText to draw.
...Optional arguments.
+
+
+ +
+
+ +

◆ GRRLIB_PrintfTTF()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_PrintfTTF (int x,
int y,
GRRLIB_ttfFontmyFont,
const char * string,
unsigned int fontSize,
const u32 color 
)
+
+ +

Print function for TTF font.

+
Parameters
+ + + + + + + +
xSpecifies the x-coordinate of the upper-left corner of the text.
ySpecifies the y-coordinate of the upper-left corner of the text.
myFontA TTF.
stringText to draw.
fontSizeSize of the font.
colorText color in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_PrintfTTFW()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_PrintfTTFW (int x,
int y,
GRRLIB_ttfFontmyFont,
const wchar_t * utf32,
unsigned int fontSize,
const u32 color 
)
+
+ +

Print function for TTF font.

+
Author
wplaat and DrTwox
+
Parameters
+ + + + + + + +
xSpecifies the x-coordinate of the upper-left corner of the text.
ySpecifies the y-coordinate of the upper-left corner of the text.
myFontA TTF.
utf32Text to draw.
fontSizeSize of the font.
colorText color in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_PtInRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE bool GRRLIB_PtInRect (const int hotx,
const int hoty,
const int hotw,
const int hoth,
const int wpadx,
const int wpady 
)
+
+ +

Determine whether the specified point lies within the specified rectangle.

+
Parameters
+ + + + + + + +
hotxSpecifies the x-coordinate of the upper-left corner of the rectangle.
hotySpecifies the y-coordinate of the upper-left corner of the rectangle.
hotwThe width of the rectangle.
hothThe height of the rectangle.
wpadxSpecifies the x-coordinate of the point.
wpadySpecifies the y-coordinate of the point.
+
+
+
Returns
If the specified point lies within the rectangle, the return value is true otherwise it's false.
+ +
+
+ +

◆ GRRLIB_Rectangle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_Rectangle (const f32 x,
const f32 y,
const f32 width,
const f32 height,
const u32 color,
const bool filled 
)
+
+ +

Draw a rectangle.

+
Parameters
+ + + + + + + +
xSpecifies the x-coordinate of the upper-left corner of the rectangle.
ySpecifies the y-coordinate of the upper-left corner of the rectangle.
widthThe width of the rectangle.
heightThe height of the rectangle.
colorThe color of the rectangle in RGBA format.
filledSet to true to fill the rectangle.
+
+
+ +
+
+ +

◆ GRRLIB_RectInRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE bool GRRLIB_RectInRect (const int rect1x,
const int rect1y,
const int rect1w,
const int rect1h,
const int rect2x,
const int rect2y,
const int rect2w,
const int rect2h 
)
+
+ +

Determine whether a specified rectangle lies within another rectangle.

+
Parameters
+ + + + + + + + + +
rect1xSpecifies the x-coordinate of the upper-left corner of the rectangle.
rect1ySpecifies the y-coordinate of the upper-left corner of the rectangle.
rect1wSpecifies the width of the rectangle.
rect1hSpecifies the height of the rectangle.
rect2xSpecifies the x-coordinate of the upper-left corner of the rectangle.
rect2ySpecifies the y-coordinate of the upper-left corner of the rectangle.
rect2wSpecifies the width of the rectangle.
rect2hSpecifies the height of the rectangle.
+
+
+
Returns
If the specified rectangle lies within the other rectangle, the return value is true otherwise it's false.
+ +
+
+ +

◆ GRRLIB_RectOnRect()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE bool GRRLIB_RectOnRect (const int rect1x,
const int rect1y,
const int rect1w,
const int rect1h,
const int rect2x,
const int rect2y,
const int rect2w,
const int rect2h 
)
+
+ +

Determine whether a part of a specified rectangle lies on another rectangle.

+
Parameters
+ + + + + + + + + +
rect1xSpecifies the x-coordinate of the upper-left corner of the first rectangle.
rect1ySpecifies the y-coordinate of the upper-left corner of the first rectangle.
rect1wSpecifies the width of the first rectangle.
rect1hSpecifies the height of the first rectangle.
rect2xSpecifies the x-coordinate of the upper-left corner of the second rectangle.
rect2ySpecifies the y-coordinate of the upper-left corner of the second rectangle.
rect2wSpecifies the width of the second rectangle.
rect2hSpecifies the height of the second rectangle.
+
+
+
Returns
If the specified rectangle lies on the other rectangle, the return value is true otherwise it's false.
+ +
+
+ +

◆ GRRLIB_Screen2Texture()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_Screen2Texture (int posx,
int posy,
GRRLIB_texImgtex,
bool clear 
)
+
+ +

Make a snapshot of the screen in a texture WITHOUT ALPHA LAYER.

+
Parameters
+ + + + + +
posxtop left corner of the grabbed part.
posytop left corner of the grabbed part.
texA pointer to a texture representing the screen or NULL if an error occurs.
clearWhen this flag is set to true, the screen is cleared after copy.
+
+
+ +
+
+ +

◆ GRRLIB_ScrShot()

+ +
+
+ + + + + + + + +
bool GRRLIB_ScrShot (const char * filename)
+
+ +

Make a PNG screenshot.

+

It should be called after drawing stuff on the screen, but before GRRLIB_Render. libfat is required to use the function.

Parameters
+ + +
filenameName of the file to write.
+
+
+
Returns
bool true=everything worked, false=problems occurred.
+ +
+
+ +

◆ GRRLIB_SetAntiAliasing()

+ +
+
+ + + + + + + + +
INLINE void GRRLIB_SetAntiAliasing (const bool aa)
+
+ +

Turn anti-aliasing on/off.

+
Parameters
+ + +
aaSet to true to enable anti-aliasing (Default: Enabled).
+
+
+ +
+
+ +

◆ GRRLIB_SetBackgroundColour()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_SetBackgroundColour (u8 r,
u8 g,
u8 b,
u8 a 
)
+
+ +

Set the background parameter when screen is cleared.

+
Parameters
+ + + + + +
rRed component.
gGreen component.
bBlue component.
aAlpha component.
+
+
+ +
+
+ +

◆ GRRLIB_SetBlend()

+ +
+
+ + + + + + + + +
INLINE void GRRLIB_SetBlend (const GRRLIB_blendMode blendmode)
+
+ +

Set a blending mode.

+
Parameters
+ + +
blendmodeThe blending mode to use (Default: GRRLIB_BLEND_ALPHA).
+
+
+ +
+
+ +

◆ GRRLIB_SetHandle()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_SetHandle (GRRLIB_texImgtex,
const int x,
const int y 
)
+
+ +

Set a texture's X and Y handles.

+

For example, it could be used for the rotation of a texture.

Parameters
+ + + + +
texThe texture to set the handle on.
xThe x-coordinate of the handle.
yThe y-coordinate of the handle.
+
+
+ +
+
+ +

◆ GRRLIB_SetLightAmbient()

+ +
+
+ + + + + + + + +
void GRRLIB_SetLightAmbient (u32 ambientcolor)
+
+ +

Set ambient color.

+

When no diffuse light is shining on a object, the color is equal to ambient color.

Parameters
+ + +
ambientcolorAmbient color in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_SetLightDiff()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_SetLightDiff (u8 num,
guVector pos,
f32 distattn,
f32 brightness,
u32 lightcolor 
)
+
+ +

Set diffuse light parameters.

+
Parameters
+ + + + + + +
numNumber of the light. It's a number from 0 to 7.
posPosition of the diffuse light (x/y/z).
distattnDistance attenuation.
brightnessBrightness of the light. The value should be between 0 and 1.
lightcolorColor of the light in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_SetLightSpec()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_SetLightSpec (u8 num,
guVector dir,
f32 shy,
u32 lightcolor,
u32 speccolor 
)
+
+ +

Set specular light parameters.

+
Parameters
+ + + + + + +
numNumber of the light. It's a number from 0 to 7.
dirDirection of the specular ray (x/y/z).
shyShyniness of the specular. ( between 4 and 254)
lightcolorColor of the light in RGBA format.
speccolorSpecular color in RGBA format..
+
+
+ +
+
+ +

◆ GRRLIB_SetLightSpot()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
void GRRLIB_SetLightSpot (u8 num,
guVector pos,
guVector lookat,
f32 angAttn0,
f32 angAttn1,
f32 angAttn2,
f32 distAttn0,
f32 distAttn1,
f32 distAttn2,
u32 lightcolor 
)
+
+ +

Set Spot light parameters.

+
Parameters
+ + + + + + + + + + + +
numNumber of the light. It's a number from 0 to 7.
posPosition of the spot light (x/y/z).
lookatWhere spot light look at (x/y/z).
angAttn0cone attenuation factor 0.
angAttn1cone attenuation factor 1.
angAttn2cone attenuation factor 2.
distAttn0Distance attenuation factor 0.
distAttn1Distance attenuation factor 1.
distAttn2Distance attenuation factor 2.
lightcolorColor of the light in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_SetMidHandle()

+ +
+
+ + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_SetMidHandle (GRRLIB_texImgtex,
const bool enabled 
)
+
+ +

Center a texture's handles.

+

For example, it could be used for the rotation of a texture.

Parameters
+ + + +
texThe texture to center.
enabled
+
+
+ +
+
+ +

◆ GRRLIB_SetPixelToFB()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_SetPixelToFB (int x,
int y,
u32 pokeColor 
)
+
+ +

Writes a pixel directly from the FrontBuffer.

+
Parameters
+ + + + +
xThe x-coordinate within the FB.
yThe y-coordinate within the FB.
pokeColorThe color of the pixel in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_SetPixelTotexImg()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
INLINE void GRRLIB_SetPixelTotexImg (const int x,
const int y,
GRRLIB_texImgtex,
const u32 color 
)
+
+ +

Set the color value of a pixel to a GRRLIB_texImg.

+
See also
GRRLIB_FlushTex
+
Parameters
+ + + + + +
xSpecifies the x-coordinate of the pixel in the texture.
ySpecifies the y-coordinate of the pixel in the texture.
texThe texture to set the color to.
colorThe color of the pixel in RGBA format.
+
+
+ +
+
+ +

◆ GRRLIB_SetTexture()

+ +
+
+ + + + + + + + + + + + + + + + + + +
void GRRLIB_SetTexture (GRRLIB_texImgtex,
bool rep 
)
+
+ +

Set the texture to an object (contributed by chris_c aka DaShAmAn).

+
Parameters
+ + + +
texPointer to an image texture (GRRLIB_texImg format).
repTexture Repeat Mode, True will repeat it, False won't.
+
+
+ +
+
+ +

◆ GRRLIB_WidthTTF()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
u32 GRRLIB_WidthTTF (GRRLIB_ttfFontmyFont,
const char * string,
unsigned int fontSize 
)
+
+ +

Get the width of a text in pixel.

+
Parameters
+ + + + +
myFontA TTF.
stringThe text to check.
fontSizeThe size of the font.
+
+
+
Returns
The width of a text in pixel.
+ +
+
+ +

◆ GRRLIB_WidthTTFW()

+ +
+
+ + + + + + + + + + + + + + + + + + + + + + + + +
u32 GRRLIB_WidthTTFW (GRRLIB_ttfFontmyFont,
const wchar_t * utf32,
unsigned int fontSize 
)
+
+ +

Get the width of a text in pixel.

+
Parameters
+ + + + +
myFontA TTF.
utf32The text to check.
fontSizeThe size of the font.
+
+
+
Returns
The width of a text in pixel.
+ +
+
+

Variable Documentation

+ +

◆ rmode

+ +
+
+ + + + +
GRR_EXTERN GXRModeObj* rmode
+
+ +

Video mode.

+ +
+
+
+ + + + diff --git a/grrlib_8h.html b/grrlib_8h.html new file mode 100644 index 0000000..86cdcdb --- /dev/null +++ b/grrlib_8h.html @@ -0,0 +1,207 @@ + + + + + + + +GRRLIB: grrlib.h File Reference + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + + +
+
+ + +
+ +
+ +
+
+ +
+
grrlib.h File Reference
+
+
+ +

GRRLIB user include file. +More...

+
#include <gccore.h>
+#include "grrlib/GRRLIB__lib.h"
+#include "grrlib/GRRLIB__inline.h"
+
+ + + + + + + + + + + + + + + + +

+Data Structures

struct  GRRLIB_drawSettings
 Structure to hold the current drawing settings. More...
 
struct  GRRLIB_texImg
 Structure to hold the texture information. More...
 
struct  GRRLIB_bytemapChar
 Structure to hold the bytemap character information. More...
 
struct  GRRLIB_bytemapFont
 Structure to hold the bytemap font information. More...
 
struct  GRRLIB_Font
 Structure to hold the TTF information. More...
 
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

+Macros

+#define GRRLIB_VER_STRING   "4.4.0"
 Version information for GRRLIB.
 
#define R(c)   (((c) >>24) &0xFF)
 Extract red component of colour. More...
 
#define G(c)   (((c) >>16) &0xFF)
 Extract green component of colour. More...
 
#define B(c)   (((c) >> 8) &0xFF)
 Extract blue component of colour. More...
 
#define A(c)   ( (c) &0xFF)
 Extract alpha component of colour. More...
 
#define RGBA(r, g, b, a)
 Build an RGB pixel from components. More...
 
#define GRRLIB_BLEND_NONE   (GRRLIB_BLEND_ALPHA)
 Alias for GRRLIB_BLEND_ALPHA. More...
 
#define GRRLIB_BLEND_LIGHT   (GRRLIB_BLEND_ADD)
 Alias for GRRLIB_BLEND_ADD. More...
 
#define GRRLIB_BLEND_SHADE   (GRRLIB_BLEND_MULTI)
 Alias for GRRLIB_BLEND_MULTI. More...
 
+#define GRR_EXTERN   extern
 
+#define GRR_INIT(v)
 
+#define GRR_INITS(...)
 
+#define INLINE   static inline
 
+ + + + + + + + + + + + + + + + + + + +

+Typedefs

+typedef enum GRRLIB_blendMode GRRLIB_blendMode
 GRRLIB Blending Modes.
 
+typedef struct GRRLIB_drawSettings GRRLIB_drawSettings
 Structure to hold the current drawing settings.
 
+typedef struct GRRLIB_texImg GRRLIB_texImg
 Structure to hold the texture information.
 
+typedef struct GRRLIB_bytemapChar GRRLIB_bytemapChar
 Structure to hold the bytemap character information.
 
+typedef struct GRRLIB_bytemapFont GRRLIB_bytemapFont
 Structure to hold the bytemap font information.
 
+typedef struct GRRLIB_Font GRRLIB_ttfFont
 Structure to hold the TTF information.
 
+ + + + +

+Enumerations

enum  GRRLIB_blendMode {
+  GRRLIB_BLEND_ALPHA = 0, +GRRLIB_BLEND_ADD = 1, +GRRLIB_BLEND_SCREEN = 2, +GRRLIB_BLEND_MULTI = 3, +
+  GRRLIB_BLEND_INV = 4 +
+ }
 GRRLIB Blending Modes. More...
 
+ + + + + +

+Functions

+GRR_EXTERN void *xfb [2] GRR_INITS (NULL, NULL)
 
+GRR_EXTERN u32 fb GRR_INIT (0)
 
+ + + + +

+Variables

GRR_EXTERN GXRModeObj * rmode
 Video mode. More...
 
+

Detailed Description

+

GRRLIB user include file.

+
+ + + + diff --git a/grrlib_logo.png b/grrlib_logo.png new file mode 100644 index 0000000000000000000000000000000000000000..7c825ce64bd03ee5076ca3eca7348e611557c3a4 GIT binary patch literal 46936 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
}>{QSaTtu3r6 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 + + + + + + +GRRLIB: GRRLIB Documentation + + + + + + + + + +
+
+ + + + + + +
+
GRRLIB +  4.4.0 +
+
+
+ + + + + + + +
+ +
+
+ + +
+ +
+ +
+
+
GRRLIB Documentation
+
+
+
+grrlib_logo.png +
+

Welcome to the GRRLIB documentation. A complete list of functions is available from this page.

+

+Introduction

+

GRRLIB is a C/C++ 2D/3D graphics library for Wii application developers. It is essentially a wrapper which presents a friendly interface to the Nintendo GX core.

+

+Links

+

Forum: http://grrlib.santo.fr/forum
+Code: https://github.com/GRRLIB/GRRLIB
+Chat: #GRRLIB on EFnet

+

+Credits

+

Project Leader : NoNameNo
+Documentation : Crayon, BlueChip
+Lead Coder : NoNameNo
+Support Coders : Crayon, Xane, DragonMinded, BlueChip
+Advisors : RedShade, Jespa
+

+

+Licence

+

See the LICENCE file for licence rights and limitations (MIT).

+
+ + + + diff --git a/jquery.js b/jquery.js new file mode 100644 index 0000000..f5343ed --- /dev/null +++ b/jquery.js @@ -0,0 +1,87 @@ +/*! + * jQuery JavaScript Library v1.7.1 + * http://jquery.com/ + * + * Copyright 2011, John Resig + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * Includes Sizzle.js + * http://sizzlejs.com/ + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * + * Date: Mon Nov 21 21:11:03 2011 -0500 + */ +(function(bb,L){var av=bb.document,bu=bb.navigator,bl=bb.location;var b=(function(){var bF=function(b0,b1){return new bF.fn.init(b0,b1,bD)},bU=bb.jQuery,bH=bb.$,bD,bY=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,bM=/\S/,bI=/^\s+/,bE=/\s+$/,bA=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,bN=/^[\],:{}\s]*$/,bW=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,bP=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,bJ=/(?:^|:|,)(?:\s*\[)+/g,by=/(webkit)[ \/]([\w.]+)/,bR=/(opera)(?:.*version)?[ \/]([\w.]+)/,bQ=/(msie) ([\w.]+)/,bS=/(mozilla)(?:.*? rv:([\w.]+))?/,bB=/-([a-z]|[0-9])/ig,bZ=/^-ms-/,bT=function(b0,b1){return(b1+"").toUpperCase()},bX=bu.userAgent,bV,bC,e,bL=Object.prototype.toString,bG=Object.prototype.hasOwnProperty,bz=Array.prototype.push,bK=Array.prototype.slice,bO=String.prototype.trim,bv=Array.prototype.indexOf,bx={};bF.fn=bF.prototype={constructor:bF,init:function(b0,b4,b3){var b2,b5,b1,b6;if(!b0){return this}if(b0.nodeType){this.context=this[0]=b0;this.length=1;return this}if(b0==="body"&&!b4&&av.body){this.context=av;this[0]=av.body;this.selector=b0;this.length=1;return this}if(typeof b0==="string"){if(b0.charAt(0)==="<"&&b0.charAt(b0.length-1)===">"&&b0.length>=3){b2=[null,b0,null]}else{b2=bY.exec(b0)}if(b2&&(b2[1]||!b4)){if(b2[1]){b4=b4 instanceof bF?b4[0]:b4;b6=(b4?b4.ownerDocument||b4:av);b1=bA.exec(b0);if(b1){if(bF.isPlainObject(b4)){b0=[av.createElement(b1[1])];bF.fn.attr.call(b0,b4,true)}else{b0=[b6.createElement(b1[1])]}}else{b1=bF.buildFragment([b2[1]],[b6]);b0=(b1.cacheable?bF.clone(b1.fragment):b1.fragment).childNodes}return bF.merge(this,b0)}else{b5=av.getElementById(b2[2]);if(b5&&b5.parentNode){if(b5.id!==b2[2]){return b3.find(b0)}this.length=1;this[0]=b5}this.context=av;this.selector=b0;return this}}else{if(!b4||b4.jquery){return(b4||b3).find(b0)}else{return this.constructor(b4).find(b0)}}}else{if(bF.isFunction(b0)){return b3.ready(b0)}}if(b0.selector!==L){this.selector=b0.selector;this.context=b0.context}return bF.makeArray(b0,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return bK.call(this,0)},get:function(b0){return b0==null?this.toArray():(b0<0?this[this.length+b0]:this[b0])},pushStack:function(b1,b3,b0){var b2=this.constructor();if(bF.isArray(b1)){bz.apply(b2,b1)}else{bF.merge(b2,b1)}b2.prevObject=this;b2.context=this.context;if(b3==="find"){b2.selector=this.selector+(this.selector?" ":"")+b0}else{if(b3){b2.selector=this.selector+"."+b3+"("+b0+")"}}return b2},each:function(b1,b0){return bF.each(this,b1,b0)},ready:function(b0){bF.bindReady();bC.add(b0);return this},eq:function(b0){b0=+b0;return b0===-1?this.slice(b0):this.slice(b0,b0+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(bK.apply(this,arguments),"slice",bK.call(arguments).join(","))},map:function(b0){return this.pushStack(bF.map(this,function(b2,b1){return b0.call(b2,b1,b2)}))},end:function(){return this.prevObject||this.constructor(null)},push:bz,sort:[].sort,splice:[].splice};bF.fn.init.prototype=bF.fn;bF.extend=bF.fn.extend=function(){var b9,b2,b0,b1,b6,b7,b5=arguments[0]||{},b4=1,b3=arguments.length,b8=false;if(typeof b5==="boolean"){b8=b5;b5=arguments[1]||{};b4=2}if(typeof b5!=="object"&&!bF.isFunction(b5)){b5={}}if(b3===b4){b5=this;--b4}for(;b40){return}bC.fireWith(av,[bF]);if(bF.fn.trigger){bF(av).trigger("ready").off("ready")}}},bindReady:function(){if(bC){return}bC=bF.Callbacks("once memory");if(av.readyState==="complete"){return setTimeout(bF.ready,1)}if(av.addEventListener){av.addEventListener("DOMContentLoaded",e,false);bb.addEventListener("load",bF.ready,false)}else{if(av.attachEvent){av.attachEvent("onreadystatechange",e);bb.attachEvent("onload",bF.ready);var b0=false;try{b0=bb.frameElement==null}catch(b1){}if(av.documentElement.doScroll&&b0){bw()}}}},isFunction:function(b0){return bF.type(b0)==="function"},isArray:Array.isArray||function(b0){return bF.type(b0)==="array"},isWindow:function(b0){return b0&&typeof b0==="object"&&"setInterval" in b0},isNumeric:function(b0){return !isNaN(parseFloat(b0))&&isFinite(b0)},type:function(b0){return b0==null?String(b0):bx[bL.call(b0)]||"object"},isPlainObject:function(b2){if(!b2||bF.type(b2)!=="object"||b2.nodeType||bF.isWindow(b2)){return false}try{if(b2.constructor&&!bG.call(b2,"constructor")&&!bG.call(b2.constructor.prototype,"isPrototypeOf")){return false}}catch(b1){return false}var b0;for(b0 in b2){}return b0===L||bG.call(b2,b0)},isEmptyObject:function(b1){for(var b0 in b1){return false}return true},error:function(b0){throw new Error(b0)},parseJSON:function(b0){if(typeof b0!=="string"||!b0){return null}b0=bF.trim(b0);if(bb.JSON&&bb.JSON.parse){return bb.JSON.parse(b0)}if(bN.test(b0.replace(bW,"@").replace(bP,"]").replace(bJ,""))){return(new Function("return "+b0))()}bF.error("Invalid JSON: "+b0)},parseXML:function(b2){var b0,b1;try{if(bb.DOMParser){b1=new DOMParser();b0=b1.parseFromString(b2,"text/xml")}else{b0=new ActiveXObject("Microsoft.XMLDOM");b0.async="false";b0.loadXML(b2)}}catch(b3){b0=L}if(!b0||!b0.documentElement||b0.getElementsByTagName("parsererror").length){bF.error("Invalid XML: "+b2)}return b0},noop:function(){},globalEval:function(b0){if(b0&&bM.test(b0)){(bb.execScript||function(b1){bb["eval"].call(bb,b1)})(b0)}},camelCase:function(b0){return b0.replace(bZ,"ms-").replace(bB,bT)},nodeName:function(b1,b0){return b1.nodeName&&b1.nodeName.toUpperCase()===b0.toUpperCase()},each:function(b3,b6,b2){var b1,b4=0,b5=b3.length,b0=b5===L||bF.isFunction(b3);if(b2){if(b0){for(b1 in b3){if(b6.apply(b3[b1],b2)===false){break}}}else{for(;b40&&b0[0]&&b0[b1-1])||b1===0||bF.isArray(b0));if(b3){for(;b21?aJ.call(arguments,0):bG;if(!(--bw)){bC.resolveWith(bC,bx)}}}function bz(bF){return function(bG){bB[bF]=arguments.length>1?aJ.call(arguments,0):bG;bC.notifyWith(bE,bB)}}if(e>1){for(;bv
a";bI=bv.getElementsByTagName("*");bF=bv.getElementsByTagName("a")[0];if(!bI||!bI.length||!bF){return{}}bG=av.createElement("select");bx=bG.appendChild(av.createElement("option"));bE=bv.getElementsByTagName("input")[0];bJ={leadingWhitespace:(bv.firstChild.nodeType===3),tbody:!bv.getElementsByTagName("tbody").length,htmlSerialize:!!bv.getElementsByTagName("link").length,style:/top/.test(bF.getAttribute("style")),hrefNormalized:(bF.getAttribute("href")==="/a"),opacity:/^0.55/.test(bF.style.opacity),cssFloat:!!bF.style.cssFloat,checkOn:(bE.value==="on"),optSelected:bx.selected,getSetAttribute:bv.className!=="t",enctype:!!av.createElement("form").enctype,html5Clone:av.createElement("nav").cloneNode(true).outerHTML!=="<:nav>",submitBubbles:true,changeBubbles:true,focusinBubbles:false,deleteExpando:true,noCloneEvent:true,inlineBlockNeedsLayout:false,shrinkWrapBlocks:false,reliableMarginRight:true};bE.checked=true;bJ.noCloneChecked=bE.cloneNode(true).checked;bG.disabled=true;bJ.optDisabled=!bx.disabled;try{delete bv.test}catch(bC){bJ.deleteExpando=false}if(!bv.addEventListener&&bv.attachEvent&&bv.fireEvent){bv.attachEvent("onclick",function(){bJ.noCloneEvent=false});bv.cloneNode(true).fireEvent("onclick")}bE=av.createElement("input");bE.value="t";bE.setAttribute("type","radio");bJ.radioValue=bE.value==="t";bE.setAttribute("checked","checked");bv.appendChild(bE);bD=av.createDocumentFragment();bD.appendChild(bv.lastChild);bJ.checkClone=bD.cloneNode(true).cloneNode(true).lastChild.checked;bJ.appendChecked=bE.checked;bD.removeChild(bE);bD.appendChild(bv);bv.innerHTML="";if(bb.getComputedStyle){bA=av.createElement("div");bA.style.width="0";bA.style.marginRight="0";bv.style.width="2px";bv.appendChild(bA);bJ.reliableMarginRight=(parseInt((bb.getComputedStyle(bA,null)||{marginRight:0}).marginRight,10)||0)===0}if(bv.attachEvent){for(by in {submit:1,change:1,focusin:1}){bB="on"+by;bw=(bB in bv);if(!bw){bv.setAttribute(bB,"return;");bw=(typeof bv[bB]==="function")}bJ[by+"Bubbles"]=bw}}bD.removeChild(bv);bD=bG=bx=bA=bv=bE=null;b(function(){var bM,bU,bV,bT,bN,bO,bL,bS,bR,e,bP,bQ=av.getElementsByTagName("body")[0];if(!bQ){return}bL=1;bS="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;";bR="visibility:hidden;border:0;";e="style='"+bS+"border:5px solid #000;padding:0;'";bP="
";bM=av.createElement("div");bM.style.cssText=bR+"width:0;height:0;position:static;top:0;margin-top:"+bL+"px";bQ.insertBefore(bM,bQ.firstChild);bv=av.createElement("div");bM.appendChild(bv);bv.innerHTML="
t
";bz=bv.getElementsByTagName("td");bw=(bz[0].offsetHeight===0);bz[0].style.display="";bz[1].style.display="none";bJ.reliableHiddenOffsets=bw&&(bz[0].offsetHeight===0);bv.innerHTML="";bv.style.width=bv.style.paddingLeft="1px";b.boxModel=bJ.boxModel=bv.offsetWidth===2;if(typeof bv.style.zoom!=="undefined"){bv.style.display="inline";bv.style.zoom=1;bJ.inlineBlockNeedsLayout=(bv.offsetWidth===2);bv.style.display="";bv.innerHTML="
";bJ.shrinkWrapBlocks=(bv.offsetWidth!==2)}bv.style.cssText=bS+bR;bv.innerHTML=bP;bU=bv.firstChild;bV=bU.firstChild;bN=bU.nextSibling.firstChild.firstChild;bO={doesNotAddBorder:(bV.offsetTop!==5),doesAddBorderForTableAndCells:(bN.offsetTop===5)};bV.style.position="fixed";bV.style.top="20px";bO.fixedPosition=(bV.offsetTop===20||bV.offsetTop===15);bV.style.position=bV.style.top="";bU.style.overflow="hidden";bU.style.position="relative";bO.subtractsBorderForOverflowNotVisible=(bV.offsetTop===-5);bO.doesNotIncludeMarginInBodyOffset=(bQ.offsetTop!==bL);bQ.removeChild(bM);bv=bM=null;b.extend(bJ,bO)});return bJ})();var aS=/^(?:\{.*\}|\[.*\])$/,aA=/([A-Z])/g;b.extend({cache:{},uuid:0,expando:"jQuery"+(b.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:true,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:true},hasData:function(e){e=e.nodeType?b.cache[e[b.expando]]:e[b.expando];return !!e&&!S(e)},data:function(bx,bv,bz,by){if(!b.acceptData(bx)){return}var bG,bA,bD,bE=b.expando,bC=typeof bv==="string",bF=bx.nodeType,e=bF?b.cache:bx,bw=bF?bx[bE]:bx[bE]&&bE,bB=bv==="events";if((!bw||!e[bw]||(!bB&&!by&&!e[bw].data))&&bC&&bz===L){return}if(!bw){if(bF){bx[bE]=bw=++b.uuid}else{bw=bE}}if(!e[bw]){e[bw]={};if(!bF){e[bw].toJSON=b.noop}}if(typeof bv==="object"||typeof bv==="function"){if(by){e[bw]=b.extend(e[bw],bv)}else{e[bw].data=b.extend(e[bw].data,bv)}}bG=bA=e[bw];if(!by){if(!bA.data){bA.data={}}bA=bA.data}if(bz!==L){bA[b.camelCase(bv)]=bz}if(bB&&!bA[bv]){return bG.events}if(bC){bD=bA[bv];if(bD==null){bD=bA[b.camelCase(bv)]}}else{bD=bA}return bD},removeData:function(bx,bv,by){if(!b.acceptData(bx)){return}var bB,bA,bz,bC=b.expando,bD=bx.nodeType,e=bD?b.cache:bx,bw=bD?bx[bC]:bC;if(!e[bw]){return}if(bv){bB=by?e[bw]:e[bw].data;if(bB){if(!b.isArray(bv)){if(bv in bB){bv=[bv]}else{bv=b.camelCase(bv);if(bv in bB){bv=[bv]}else{bv=bv.split(" ")}}}for(bA=0,bz=bv.length;bA-1){return true}}return false},val:function(bx){var e,bv,by,bw=this[0];if(!arguments.length){if(bw){e=b.valHooks[bw.nodeName.toLowerCase()]||b.valHooks[bw.type];if(e&&"get" in e&&(bv=e.get(bw,"value"))!==L){return bv}bv=bw.value;return typeof bv==="string"?bv.replace(aU,""):bv==null?"":bv}return}by=b.isFunction(bx);return this.each(function(bA){var bz=b(this),bB;if(this.nodeType!==1){return}if(by){bB=bx.call(this,bA,bz.val())}else{bB=bx}if(bB==null){bB=""}else{if(typeof bB==="number"){bB+=""}else{if(b.isArray(bB)){bB=b.map(bB,function(bC){return bC==null?"":bC+""})}}}e=b.valHooks[this.nodeName.toLowerCase()]||b.valHooks[this.type];if(!e||!("set" in e)||e.set(this,bB,"value")===L){this.value=bB}})}});b.extend({valHooks:{option:{get:function(e){var bv=e.attributes.value;return !bv||bv.specified?e.value:e.text}},select:{get:function(e){var bA,bv,bz,bx,by=e.selectedIndex,bB=[],bC=e.options,bw=e.type==="select-one";if(by<0){return null}bv=bw?by:0;bz=bw?by+1:bC.length;for(;bv=0});if(!e.length){bv.selectedIndex=-1}return e}}},attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(bA,bx,bB,bz){var bw,e,by,bv=bA.nodeType;if(!bA||bv===3||bv===8||bv===2){return}if(bz&&bx in b.attrFn){return b(bA)[bx](bB)}if(typeof bA.getAttribute==="undefined"){return b.prop(bA,bx,bB)}by=bv!==1||!b.isXMLDoc(bA);if(by){bx=bx.toLowerCase();e=b.attrHooks[bx]||(ao.test(bx)?aY:be)}if(bB!==L){if(bB===null){b.removeAttr(bA,bx);return}else{if(e&&"set" in e&&by&&(bw=e.set(bA,bB,bx))!==L){return bw}else{bA.setAttribute(bx,""+bB);return bB}}}else{if(e&&"get" in e&&by&&(bw=e.get(bA,bx))!==null){return bw}else{bw=bA.getAttribute(bx);return bw===null?L:bw}}},removeAttr:function(bx,bz){var by,bA,bv,e,bw=0;if(bz&&bx.nodeType===1){bA=bz.toLowerCase().split(af);e=bA.length;for(;bw=0)}}})});var bd=/^(?:textarea|input|select)$/i,n=/^([^\.]*)?(?:\.(.+))?$/,J=/\bhover(\.\S+)?\b/,aO=/^key/,bf=/^(?:mouse|contextmenu)|click/,T=/^(?:focusinfocus|focusoutblur)$/,U=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,Y=function(e){var bv=U.exec(e);if(bv){bv[1]=(bv[1]||"").toLowerCase();bv[3]=bv[3]&&new RegExp("(?:^|\\s)"+bv[3]+"(?:\\s|$)")}return bv},j=function(bw,e){var bv=bw.attributes||{};return((!e[1]||bw.nodeName.toLowerCase()===e[1])&&(!e[2]||(bv.id||{}).value===e[2])&&(!e[3]||e[3].test((bv["class"]||{}).value)))},bt=function(e){return b.event.special.hover?e:e.replace(J,"mouseenter$1 mouseleave$1")};b.event={add:function(bx,bC,bJ,bA,by){var bD,bB,bK,bI,bH,bF,e,bG,bv,bz,bw,bE;if(bx.nodeType===3||bx.nodeType===8||!bC||!bJ||!(bD=b._data(bx))){return}if(bJ.handler){bv=bJ;bJ=bv.handler}if(!bJ.guid){bJ.guid=b.guid++}bK=bD.events;if(!bK){bD.events=bK={}}bB=bD.handle;if(!bB){bD.handle=bB=function(bL){return typeof b!=="undefined"&&(!bL||b.event.triggered!==bL.type)?b.event.dispatch.apply(bB.elem,arguments):L};bB.elem=bx}bC=b.trim(bt(bC)).split(" ");for(bI=0;bI=0){bG=bG.slice(0,-1);bw=true}if(bG.indexOf(".")>=0){bx=bG.split(".");bG=bx.shift();bx.sort()}if((!bA||b.event.customEvent[bG])&&!b.event.global[bG]){return}bv=typeof bv==="object"?bv[b.expando]?bv:new b.Event(bG,bv):new b.Event(bG);bv.type=bG;bv.isTrigger=true;bv.exclusive=bw;bv.namespace=bx.join(".");bv.namespace_re=bv.namespace?new RegExp("(^|\\.)"+bx.join("\\.(?:.*\\.)?")+"(\\.|$)"):null;by=bG.indexOf(":")<0?"on"+bG:"";if(!bA){e=b.cache;for(bC in e){if(e[bC].events&&e[bC].events[bG]){b.event.trigger(bv,bD,e[bC].handle.elem,true)}}return}bv.result=L;if(!bv.target){bv.target=bA}bD=bD!=null?b.makeArray(bD):[];bD.unshift(bv);bF=b.event.special[bG]||{};if(bF.trigger&&bF.trigger.apply(bA,bD)===false){return}bB=[[bA,bF.bindType||bG]];if(!bJ&&!bF.noBubble&&!b.isWindow(bA)){bI=bF.delegateType||bG;bH=T.test(bI+bG)?bA:bA.parentNode;bz=null;for(;bH;bH=bH.parentNode){bB.push([bH,bI]);bz=bH}if(bz&&bz===bA.ownerDocument){bB.push([bz.defaultView||bz.parentWindow||bb,bI])}}for(bC=0;bCbA){bH.push({elem:this,matches:bz.slice(bA)})}for(bC=0;bC0?this.on(e,null,bx,bw):this.trigger(e)};if(b.attrFn){b.attrFn[e]=true}if(aO.test(e)){b.event.fixHooks[e]=b.event.keyHooks}if(bf.test(e)){b.event.fixHooks[e]=b.event.mouseHooks}}); +/*! + * Sizzle CSS Selector Engine + * Copyright 2011, The Dojo Foundation + * Released under the MIT, BSD, and GPL Licenses. + * More information: http://sizzlejs.com/ + */ +(function(){var bH=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,bC="sizcache"+(Math.random()+"").replace(".",""),bI=0,bL=Object.prototype.toString,bB=false,bA=true,bK=/\\/g,bO=/\r\n/g,bQ=/\W/;[0,0].sort(function(){bA=false;return 0});var by=function(bV,e,bY,bZ){bY=bY||[];e=e||av;var b1=e;if(e.nodeType!==1&&e.nodeType!==9){return[]}if(!bV||typeof bV!=="string"){return bY}var bS,b3,b6,bR,b2,b5,b4,bX,bU=true,bT=by.isXML(e),bW=[],b0=bV;do{bH.exec("");bS=bH.exec(b0);if(bS){b0=bS[3];bW.push(bS[1]);if(bS[2]){bR=bS[3];break}}}while(bS);if(bW.length>1&&bD.exec(bV)){if(bW.length===2&&bE.relative[bW[0]]){b3=bM(bW[0]+bW[1],e,bZ)}else{b3=bE.relative[bW[0]]?[e]:by(bW.shift(),e);while(bW.length){bV=bW.shift();if(bE.relative[bV]){bV+=bW.shift()}b3=bM(bV,b3,bZ)}}}else{if(!bZ&&bW.length>1&&e.nodeType===9&&!bT&&bE.match.ID.test(bW[0])&&!bE.match.ID.test(bW[bW.length-1])){b2=by.find(bW.shift(),e,bT);e=b2.expr?by.filter(b2.expr,b2.set)[0]:b2.set[0]}if(e){b2=bZ?{expr:bW.pop(),set:bF(bZ)}:by.find(bW.pop(),bW.length===1&&(bW[0]==="~"||bW[0]==="+")&&e.parentNode?e.parentNode:e,bT);b3=b2.expr?by.filter(b2.expr,b2.set):b2.set;if(bW.length>0){b6=bF(b3)}else{bU=false}while(bW.length){b5=bW.pop();b4=b5;if(!bE.relative[b5]){b5=""}else{b4=bW.pop()}if(b4==null){b4=e}bE.relative[b5](b6,b4,bT)}}else{b6=bW=[]}}if(!b6){b6=b3}if(!b6){by.error(b5||bV)}if(bL.call(b6)==="[object Array]"){if(!bU){bY.push.apply(bY,b6)}else{if(e&&e.nodeType===1){for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&(b6[bX]===true||b6[bX].nodeType===1&&by.contains(e,b6[bX]))){bY.push(b3[bX])}}}else{for(bX=0;b6[bX]!=null;bX++){if(b6[bX]&&b6[bX].nodeType===1){bY.push(b3[bX])}}}}}else{bF(b6,bY)}if(bR){by(bR,b1,bY,bZ);by.uniqueSort(bY)}return bY};by.uniqueSort=function(bR){if(bJ){bB=bA;bR.sort(bJ);if(bB){for(var e=1;e0};by.find=function(bX,e,bY){var bW,bS,bU,bT,bV,bR;if(!bX){return[]}for(bS=0,bU=bE.order.length;bS":function(bW,bR){var bV,bU=typeof bR==="string",bS=0,e=bW.length;if(bU&&!bQ.test(bR)){bR=bR.toLowerCase();for(;bS=0)){if(!bS){e.push(bV)}}else{if(bS){bR[bU]=false}}}}return false},ID:function(e){return e[1].replace(bK,"")},TAG:function(bR,e){return bR[1].replace(bK,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){if(!e[2]){by.error(e[0])}e[2]=e[2].replace(/^\+|\s*/g,"");var bR=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=(bR[1]+(bR[2]||1))-0;e[3]=bR[3]-0}else{if(e[2]){by.error(e[0])}}e[0]=bI++;return e},ATTR:function(bU,bR,bS,e,bV,bW){var bT=bU[1]=bU[1].replace(bK,"");if(!bW&&bE.attrMap[bT]){bU[1]=bE.attrMap[bT]}bU[4]=(bU[4]||bU[5]||"").replace(bK,"");if(bU[2]==="~="){bU[4]=" "+bU[4]+" "}return bU},PSEUDO:function(bU,bR,bS,e,bV){if(bU[1]==="not"){if((bH.exec(bU[3])||"").length>1||/^\w/.test(bU[3])){bU[3]=by(bU[3],null,null,bR)}else{var bT=by.filter(bU[3],bR,bS,true^bV);if(!bS){e.push.apply(e,bT)}return false}}else{if(bE.match.POS.test(bU[0])||bE.match.CHILD.test(bU[0])){return true}}return bU},POS:function(e){e.unshift(true);return e}},filters:{enabled:function(e){return e.disabled===false&&e.type!=="hidden"},disabled:function(e){return e.disabled===true},checked:function(e){return e.checked===true},selected:function(e){if(e.parentNode){e.parentNode.selectedIndex}return e.selected===true},parent:function(e){return !!e.firstChild},empty:function(e){return !e.firstChild},has:function(bS,bR,e){return !!by(e[3],bS).length},header:function(e){return(/h\d/i).test(e.nodeName)},text:function(bS){var e=bS.getAttribute("type"),bR=bS.type;return bS.nodeName.toLowerCase()==="input"&&"text"===bR&&(e===bR||e===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"submit"===bR.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(bR){var e=bR.nodeName.toLowerCase();return(e==="input"||e==="button")&&"reset"===bR.type},button:function(bR){var e=bR.nodeName.toLowerCase();return e==="input"&&"button"===bR.type||e==="button"},input:function(e){return(/input|select|textarea|button/i).test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(bR,e){return e===0},last:function(bS,bR,e,bT){return bR===bT.length-1},even:function(bR,e){return e%2===0},odd:function(bR,e){return e%2===1},lt:function(bS,bR,e){return bRe[3]-0},nth:function(bS,bR,e){return e[3]-0===bR},eq:function(bS,bR,e){return e[3]-0===bR}},filter:{PSEUDO:function(bS,bX,bW,bY){var e=bX[1],bR=bE.filters[e];if(bR){return bR(bS,bW,bX,bY)}else{if(e==="contains"){return(bS.textContent||bS.innerText||bw([bS])||"").indexOf(bX[3])>=0}else{if(e==="not"){var bT=bX[3];for(var bV=0,bU=bT.length;bV=0)}}},ID:function(bR,e){return bR.nodeType===1&&bR.getAttribute("id")===e},TAG:function(bR,e){return(e==="*"&&bR.nodeType===1)||!!bR.nodeName&&bR.nodeName.toLowerCase()===e},CLASS:function(bR,e){return(" "+(bR.className||bR.getAttribute("class"))+" ").indexOf(e)>-1},ATTR:function(bV,bT){var bS=bT[1],e=by.attr?by.attr(bV,bS):bE.attrHandle[bS]?bE.attrHandle[bS](bV):bV[bS]!=null?bV[bS]:bV.getAttribute(bS),bW=e+"",bU=bT[2],bR=bT[4];return e==null?bU==="!=":!bU&&by.attr?e!=null:bU==="="?bW===bR:bU==="*="?bW.indexOf(bR)>=0:bU==="~="?(" "+bW+" ").indexOf(bR)>=0:!bR?bW&&e!==false:bU==="!="?bW!==bR:bU==="^="?bW.indexOf(bR)===0:bU==="$="?bW.substr(bW.length-bR.length)===bR:bU==="|="?bW===bR||bW.substr(0,bR.length+1)===bR+"-":false},POS:function(bU,bR,bS,bV){var e=bR[2],bT=bE.setFilters[e];if(bT){return bT(bU,bS,bR,bV)}}}};var bD=bE.match.POS,bx=function(bR,e){return"\\"+(e-0+1)};for(var bz in bE.match){bE.match[bz]=new RegExp(bE.match[bz].source+(/(?![^\[]*\])(?![^\(]*\))/.source));bE.leftMatch[bz]=new RegExp(/(^(?:.|\r|\n)*?)/.source+bE.match[bz].source.replace(/\\(\d+)/g,bx))}var bF=function(bR,e){bR=Array.prototype.slice.call(bR,0);if(e){e.push.apply(e,bR);return e}return bR};try{Array.prototype.slice.call(av.documentElement.childNodes,0)[0].nodeType}catch(bP){bF=function(bU,bT){var bS=0,bR=bT||[];if(bL.call(bU)==="[object Array]"){Array.prototype.push.apply(bR,bU)}else{if(typeof bU.length==="number"){for(var e=bU.length;bS";e.insertBefore(bR,e.firstChild);if(av.getElementById(bS)){bE.find.ID=function(bU,bV,bW){if(typeof bV.getElementById!=="undefined"&&!bW){var bT=bV.getElementById(bU[1]);return bT?bT.id===bU[1]||typeof bT.getAttributeNode!=="undefined"&&bT.getAttributeNode("id").nodeValue===bU[1]?[bT]:L:[]}};bE.filter.ID=function(bV,bT){var bU=typeof bV.getAttributeNode!=="undefined"&&bV.getAttributeNode("id");return bV.nodeType===1&&bU&&bU.nodeValue===bT}}e.removeChild(bR);e=bR=null})();(function(){var e=av.createElement("div");e.appendChild(av.createComment(""));if(e.getElementsByTagName("*").length>0){bE.find.TAG=function(bR,bV){var bU=bV.getElementsByTagName(bR[1]);if(bR[1]==="*"){var bT=[];for(var bS=0;bU[bS];bS++){if(bU[bS].nodeType===1){bT.push(bU[bS])}}bU=bT}return bU}}e.innerHTML="";if(e.firstChild&&typeof e.firstChild.getAttribute!=="undefined"&&e.firstChild.getAttribute("href")!=="#"){bE.attrHandle.href=function(bR){return bR.getAttribute("href",2)}}e=null})();if(av.querySelectorAll){(function(){var e=by,bT=av.createElement("div"),bS="__sizzle__";bT.innerHTML="

";if(bT.querySelectorAll&&bT.querySelectorAll(".TEST").length===0){return}by=function(b4,bV,bZ,b3){bV=bV||av;if(!b3&&!by.isXML(bV)){var b2=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b4);if(b2&&(bV.nodeType===1||bV.nodeType===9)){if(b2[1]){return bF(bV.getElementsByTagName(b4),bZ)}else{if(b2[2]&&bE.find.CLASS&&bV.getElementsByClassName){return bF(bV.getElementsByClassName(b2[2]),bZ)}}}if(bV.nodeType===9){if(b4==="body"&&bV.body){return bF([bV.body],bZ)}else{if(b2&&b2[3]){var bY=bV.getElementById(b2[3]);if(bY&&bY.parentNode){if(bY.id===b2[3]){return bF([bY],bZ)}}else{return bF([],bZ)}}}try{return bF(bV.querySelectorAll(b4),bZ)}catch(b0){}}else{if(bV.nodeType===1&&bV.nodeName.toLowerCase()!=="object"){var bW=bV,bX=bV.getAttribute("id"),bU=bX||bS,b6=bV.parentNode,b5=/^\s*[+~]/.test(b4);if(!bX){bV.setAttribute("id",bU)}else{bU=bU.replace(/'/g,"\\$&")}if(b5&&b6){bV=bV.parentNode}try{if(!b5||b6){return bF(bV.querySelectorAll("[id='"+bU+"'] "+b4),bZ)}}catch(b1){}finally{if(!bX){bW.removeAttribute("id")}}}}}return e(b4,bV,bZ,b3)};for(var bR in e){by[bR]=e[bR]}bT=null})()}(function(){var e=av.documentElement,bS=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(bS){var bU=!bS.call(av.createElement("div"),"div"),bR=false;try{bS.call(av.documentElement,"[test!='']:sizzle")}catch(bT){bR=true}by.matchesSelector=function(bW,bY){bY=bY.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!by.isXML(bW)){try{if(bR||!bE.match.PSEUDO.test(bY)&&!/!=/.test(bY)){var bV=bS.call(bW,bY);if(bV||!bU||bW.document&&bW.document.nodeType!==11){return bV}}}catch(bX){}}return by(bY,null,null,[bW]).length>0}}})();(function(){var e=av.createElement("div");e.innerHTML="
";if(!e.getElementsByClassName||e.getElementsByClassName("e").length===0){return}e.lastChild.className="e";if(e.getElementsByClassName("e").length===1){return}bE.order.splice(1,0,"CLASS");bE.find.CLASS=function(bR,bS,bT){if(typeof bS.getElementsByClassName!=="undefined"&&!bT){return bS.getElementsByClassName(bR[1])}};e=null})();function bv(bR,bW,bV,bZ,bX,bY){for(var bT=0,bS=bZ.length;bT0){bU=e;break}}}e=e[bR]}bZ[bT]=bU}}}if(av.documentElement.contains){by.contains=function(bR,e){return bR!==e&&(bR.contains?bR.contains(e):true)}}else{if(av.documentElement.compareDocumentPosition){by.contains=function(bR,e){return !!(bR.compareDocumentPosition(e)&16)}}else{by.contains=function(){return false}}}by.isXML=function(e){var bR=(e?e.ownerDocument||e:0).documentElement;return bR?bR.nodeName!=="HTML":false};var bM=function(bS,e,bW){var bV,bX=[],bU="",bY=e.nodeType?[e]:e;while((bV=bE.match.PSEUDO.exec(bS))){bU+=bV[0];bS=bS.replace(bE.match.PSEUDO,"")}bS=bE.relative[bS]?bS+"*":bS;for(var bT=0,bR=bY.length;bT0){for(bB=bA;bB=0:b.filter(e,this).length>0:this.filter(e).length>0)},closest:function(by,bx){var bv=[],bw,e,bz=this[0];if(b.isArray(by)){var bB=1;while(bz&&bz.ownerDocument&&bz!==bx){for(bw=0;bw-1:b.find.matchesSelector(bz,by)){bv.push(bz);break}else{bz=bz.parentNode;if(!bz||!bz.ownerDocument||bz===bx||bz.nodeType===11){break}}}}bv=bv.length>1?b.unique(bv):bv;return this.pushStack(bv,"closest",by)},index:function(e){if(!e){return(this[0]&&this[0].parentNode)?this.prevAll().length:-1}if(typeof e==="string"){return b.inArray(this[0],b(e))}return b.inArray(e.jquery?e[0]:e,this)},add:function(e,bv){var bx=typeof e==="string"?b(e,bv):b.makeArray(e&&e.nodeType?[e]:e),bw=b.merge(this.get(),bx);return this.pushStack(C(bx[0])||C(bw[0])?bw:b.unique(bw))},andSelf:function(){return this.add(this.prevObject)}});function C(e){return !e||!e.parentNode||e.parentNode.nodeType===11}b.each({parent:function(bv){var e=bv.parentNode;return e&&e.nodeType!==11?e:null},parents:function(e){return b.dir(e,"parentNode")},parentsUntil:function(bv,e,bw){return b.dir(bv,"parentNode",bw)},next:function(e){return b.nth(e,2,"nextSibling")},prev:function(e){return b.nth(e,2,"previousSibling")},nextAll:function(e){return b.dir(e,"nextSibling")},prevAll:function(e){return b.dir(e,"previousSibling")},nextUntil:function(bv,e,bw){return b.dir(bv,"nextSibling",bw)},prevUntil:function(bv,e,bw){return b.dir(bv,"previousSibling",bw)},siblings:function(e){return b.sibling(e.parentNode.firstChild,e)},children:function(e){return b.sibling(e.firstChild)},contents:function(e){return b.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:b.makeArray(e.childNodes)}},function(e,bv){b.fn[e]=function(by,bw){var bx=b.map(this,bv,by);if(!ab.test(e)){bw=by}if(bw&&typeof bw==="string"){bx=b.filter(bw,bx)}bx=this.length>1&&!ay[e]?b.unique(bx):bx;if((this.length>1||a9.test(bw))&&aq.test(e)){bx=bx.reverse()}return this.pushStack(bx,e,P.call(arguments).join(","))}});b.extend({filter:function(bw,e,bv){if(bv){bw=":not("+bw+")"}return e.length===1?b.find.matchesSelector(e[0],bw)?[e[0]]:[]:b.find.matches(bw,e)},dir:function(bw,bv,by){var e=[],bx=bw[bv];while(bx&&bx.nodeType!==9&&(by===L||bx.nodeType!==1||!b(bx).is(by))){if(bx.nodeType===1){e.push(bx)}bx=bx[bv]}return e},nth:function(by,e,bw,bx){e=e||1;var bv=0;for(;by;by=by[bw]){if(by.nodeType===1&&++bv===e){break}}return by},sibling:function(bw,bv){var e=[];for(;bw;bw=bw.nextSibling){if(bw.nodeType===1&&bw!==bv){e.push(bw)}}return e}});function aG(bx,bw,e){bw=bw||0;if(b.isFunction(bw)){return b.grep(bx,function(bz,by){var bA=!!bw.call(bz,by,bz);return bA===e})}else{if(bw.nodeType){return b.grep(bx,function(bz,by){return(bz===bw)===e})}else{if(typeof bw==="string"){var bv=b.grep(bx,function(by){return by.nodeType===1});if(bp.test(bw)){return b.filter(bw,bv,!e)}else{bw=b.filter(bw,bv)}}}}return b.grep(bx,function(bz,by){return(b.inArray(bz,bw)>=0)===e})}function a(e){var bw=aR.split("|"),bv=e.createDocumentFragment();if(bv.createElement){while(bw.length){bv.createElement(bw.pop())}}return bv}var aR="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ag=/ jQuery\d+="(?:\d+|null)"/g,ar=/^\s+/,R=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,d=/<([\w:]+)/,w=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},ac=a(av);ax.optgroup=ax.option;ax.tbody=ax.tfoot=ax.colgroup=ax.caption=ax.thead;ax.th=ax.td;if(!b.support.htmlSerialize){ax._default=[1,"div
","
"]}b.fn.extend({text:function(e){if(b.isFunction(e)){return this.each(function(bw){var bv=b(this);bv.text(e.call(this,bw,bv.text()))})}if(typeof e!=="object"&&e!==L){return this.empty().append((this[0]&&this[0].ownerDocument||av).createTextNode(e))}return b.text(this)},wrapAll:function(e){if(b.isFunction(e)){return this.each(function(bw){b(this).wrapAll(e.call(this,bw))})}if(this[0]){var bv=b(e,this[0].ownerDocument).eq(0).clone(true);if(this[0].parentNode){bv.insertBefore(this[0])}bv.map(function(){var bw=this;while(bw.firstChild&&bw.firstChild.nodeType===1){bw=bw.firstChild}return bw}).append(this)}return this},wrapInner:function(e){if(b.isFunction(e)){return this.each(function(bv){b(this).wrapInner(e.call(this,bv))})}return this.each(function(){var bv=b(this),bw=bv.contents();if(bw.length){bw.wrapAll(e)}else{bv.append(e)}})},wrap:function(e){var bv=b.isFunction(e);return this.each(function(bw){b(this).wrapAll(bv?e.call(this,bw):e)})},unwrap:function(){return this.parent().each(function(){if(!b.nodeName(this,"body")){b(this).replaceWith(this.childNodes)}}).end()},append:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.appendChild(e)}})},prepend:function(){return this.domManip(arguments,true,function(e){if(this.nodeType===1){this.insertBefore(e,this.firstChild)}})},before:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this)})}else{if(arguments.length){var e=b.clean(arguments);e.push.apply(e,this.toArray());return this.pushStack(e,"before",arguments)}}},after:function(){if(this[0]&&this[0].parentNode){return this.domManip(arguments,false,function(bv){this.parentNode.insertBefore(bv,this.nextSibling)})}else{if(arguments.length){var e=this.pushStack(this,"after",arguments);e.push.apply(e,b.clean(arguments));return e}}},remove:function(e,bx){for(var bv=0,bw;(bw=this[bv])!=null;bv++){if(!e||b.filter(e,[bw]).length){if(!bx&&bw.nodeType===1){b.cleanData(bw.getElementsByTagName("*"));b.cleanData([bw])}if(bw.parentNode){bw.parentNode.removeChild(bw)}}}return this},empty:function(){for(var e=0,bv;(bv=this[e])!=null;e++){if(bv.nodeType===1){b.cleanData(bv.getElementsByTagName("*"))}while(bv.firstChild){bv.removeChild(bv.firstChild)}}return this},clone:function(bv,e){bv=bv==null?false:bv;e=e==null?bv:e;return this.map(function(){return b.clone(this,bv,e)})},html:function(bx){if(bx===L){return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(ag,""):null}else{if(typeof bx==="string"&&!ae.test(bx)&&(b.support.leadingWhitespace||!ar.test(bx))&&!ax[(d.exec(bx)||["",""])[1].toLowerCase()]){bx=bx.replace(R,"<$1>");try{for(var bw=0,bv=this.length;bw1&&bw0?this.clone(true):this).get();b(bC[bA])[bv](by);bz=bz.concat(by)}return this.pushStack(bz,e,bC.selector)}}});function bg(e){if(typeof e.getElementsByTagName!=="undefined"){return e.getElementsByTagName("*")}else{if(typeof e.querySelectorAll!=="undefined"){return e.querySelectorAll("*")}else{return[]}}}function az(e){if(e.type==="checkbox"||e.type==="radio"){e.defaultChecked=e.checked}}function E(e){var bv=(e.nodeName||"").toLowerCase();if(bv==="input"){az(e)}else{if(bv!=="script"&&typeof e.getElementsByTagName!=="undefined"){b.grep(e.getElementsByTagName("input"),az)}}}function al(e){var bv=av.createElement("div");ac.appendChild(bv);bv.innerHTML=e.outerHTML;return bv.firstChild}b.extend({clone:function(by,bA,bw){var e,bv,bx,bz=b.support.html5Clone||!ah.test("<"+by.nodeName)?by.cloneNode(true):al(by);if((!b.support.noCloneEvent||!b.support.noCloneChecked)&&(by.nodeType===1||by.nodeType===11)&&!b.isXMLDoc(by)){ai(by,bz);e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){if(bv[bx]){ai(e[bx],bv[bx])}}}if(bA){t(by,bz);if(bw){e=bg(by);bv=bg(bz);for(bx=0;e[bx];++bx){t(e[bx],bv[bx])}}}e=bv=null;return bz},clean:function(bw,by,bH,bA){var bF;by=by||av;if(typeof by.createElement==="undefined"){by=by.ownerDocument||by[0]&&by[0].ownerDocument||av}var bI=[],bB;for(var bE=0,bz;(bz=bw[bE])!=null;bE++){if(typeof bz==="number"){bz+=""}if(!bz){continue}if(typeof bz==="string"){if(!W.test(bz)){bz=by.createTextNode(bz)}else{bz=bz.replace(R,"<$1>");var bK=(d.exec(bz)||["",""])[1].toLowerCase(),bx=ax[bK]||ax._default,bD=bx[0],bv=by.createElement("div");if(by===av){ac.appendChild(bv)}else{a(by).appendChild(bv)}bv.innerHTML=bx[1]+bz+bx[2];while(bD--){bv=bv.lastChild}if(!b.support.tbody){var e=w.test(bz),bC=bK==="table"&&!e?bv.firstChild&&bv.firstChild.childNodes:bx[1]===""&&!e?bv.childNodes:[];for(bB=bC.length-1;bB>=0;--bB){if(b.nodeName(bC[bB],"tbody")&&!bC[bB].childNodes.length){bC[bB].parentNode.removeChild(bC[bB])}}}if(!b.support.leadingWhitespace&&ar.test(bz)){bv.insertBefore(by.createTextNode(ar.exec(bz)[0]),bv.firstChild)}bz=bv.childNodes}}var bG;if(!b.support.appendChecked){if(bz[0]&&typeof(bG=bz.length)==="number"){for(bB=0;bB=0){return bx+"px"}}else{return bx}}}});if(!b.support.opacity){b.cssHooks.opacity={get:function(bv,e){return au.test((e&&bv.currentStyle?bv.currentStyle.filter:bv.style.filter)||"")?(parseFloat(RegExp.$1)/100)+"":e?"1":""},set:function(by,bz){var bx=by.style,bv=by.currentStyle,e=b.isNumeric(bz)?"alpha(opacity="+bz*100+")":"",bw=bv&&bv.filter||bx.filter||"";bx.zoom=1;if(bz>=1&&b.trim(bw.replace(ak,""))===""){bx.removeAttribute("filter");if(bv&&!bv.filter){return}}bx.filter=ak.test(bw)?bw.replace(ak,e):bw+" "+e}}}b(function(){if(!b.support.reliableMarginRight){b.cssHooks.marginRight={get:function(bw,bv){var e;b.swap(bw,{display:"inline-block"},function(){if(bv){e=Z(bw,"margin-right","marginRight")}else{e=bw.style.marginRight}});return e}}}});if(av.defaultView&&av.defaultView.getComputedStyle){aI=function(by,bw){var bv,bx,e;bw=bw.replace(z,"-$1").toLowerCase();if((bx=by.ownerDocument.defaultView)&&(e=bx.getComputedStyle(by,null))){bv=e.getPropertyValue(bw);if(bv===""&&!b.contains(by.ownerDocument.documentElement,by)){bv=b.style(by,bw)}}return bv}}if(av.documentElement.currentStyle){aX=function(bz,bw){var bA,e,by,bv=bz.currentStyle&&bz.currentStyle[bw],bx=bz.style;if(bv===null&&bx&&(by=bx[bw])){bv=by}if(!bc.test(bv)&&bn.test(bv)){bA=bx.left;e=bz.runtimeStyle&&bz.runtimeStyle.left;if(e){bz.runtimeStyle.left=bz.currentStyle.left}bx.left=bw==="fontSize"?"1em":(bv||0);bv=bx.pixelLeft+"px";bx.left=bA;if(e){bz.runtimeStyle.left=e}}return bv===""?"auto":bv}}Z=aI||aX;function p(by,bw,bv){var bA=bw==="width"?by.offsetWidth:by.offsetHeight,bz=bw==="width"?an:a1,bx=0,e=bz.length;if(bA>0){if(bv!=="border"){for(;bx)<[^<]*)*<\/script>/gi,q=/^(?:select|textarea)/i,h=/\s+/,br=/([?&])_=[^&]*/,K=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,A=b.fn.load,aa={},r={},aE,s,aV=["*/"]+["*"];try{aE=bl.href}catch(aw){aE=av.createElement("a");aE.href="";aE=aE.href}s=K.exec(aE.toLowerCase())||[];function f(e){return function(by,bA){if(typeof by!=="string"){bA=by;by="*"}if(b.isFunction(bA)){var bx=by.toLowerCase().split(h),bw=0,bz=bx.length,bv,bB,bC;for(;bw=0){var e=bw.slice(by,bw.length);bw=bw.slice(0,by)}var bx="GET";if(bz){if(b.isFunction(bz)){bA=bz;bz=L}else{if(typeof bz==="object"){bz=b.param(bz,b.ajaxSettings.traditional);bx="POST"}}}var bv=this;b.ajax({url:bw,type:bx,dataType:"html",data:bz,complete:function(bC,bB,bD){bD=bC.responseText;if(bC.isResolved()){bC.done(function(bE){bD=bE});bv.html(e?b("
").append(bD.replace(a6,"")).find(e):bD)}if(bA){bv.each(bA,[bD,bB,bC])}}});return this},serialize:function(){return b.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?b.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||q.test(this.nodeName)||aZ.test(this.type))}).map(function(e,bv){var bw=b(this).val();return bw==null?null:b.isArray(bw)?b.map(bw,function(by,bx){return{name:bv.name,value:by.replace(bs,"\r\n")}}):{name:bv.name,value:bw.replace(bs,"\r\n")}}).get()}});b.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,bv){b.fn[bv]=function(bw){return this.on(bv,bw)}});b.each(["get","post"],function(e,bv){b[bv]=function(bw,by,bz,bx){if(b.isFunction(by)){bx=bx||bz;bz=by;by=L}return b.ajax({type:bv,url:bw,data:by,success:bz,dataType:bx})}});b.extend({getScript:function(e,bv){return b.get(e,L,bv,"script")},getJSON:function(e,bv,bw){return b.get(e,bv,bw,"json")},ajaxSetup:function(bv,e){if(e){am(bv,b.ajaxSettings)}else{e=bv;bv=b.ajaxSettings}am(bv,e);return bv},ajaxSettings:{url:aE,isLocal:aM.test(s[1]),global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":aV},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":bb.String,"text html":true,"text json":b.parseJSON,"text xml":b.parseXML},flatOptions:{context:true,url:true}},ajaxPrefilter:f(aa),ajaxTransport:f(r),ajax:function(bz,bx){if(typeof bz==="object"){bx=bz;bz=L}bx=bx||{};var bD=b.ajaxSetup({},bx),bS=bD.context||bD,bG=bS!==bD&&(bS.nodeType||bS instanceof b)?b(bS):b.event,bR=b.Deferred(),bN=b.Callbacks("once memory"),bB=bD.statusCode||{},bC,bH={},bO={},bQ,by,bL,bE,bI,bA=0,bw,bK,bJ={readyState:0,setRequestHeader:function(bT,bU){if(!bA){var e=bT.toLowerCase();bT=bO[e]=bO[e]||bT;bH[bT]=bU}return this},getAllResponseHeaders:function(){return bA===2?bQ:null},getResponseHeader:function(bT){var e;if(bA===2){if(!by){by={};while((e=aD.exec(bQ))){by[e[1].toLowerCase()]=e[2]}}e=by[bT.toLowerCase()]}return e===L?null:e},overrideMimeType:function(e){if(!bA){bD.mimeType=e}return this},abort:function(e){e=e||"abort";if(bL){bL.abort(e)}bF(0,e);return this}};function bF(bZ,bU,b0,bW){if(bA===2){return}bA=2;if(bE){clearTimeout(bE)}bL=L;bQ=bW||"";bJ.readyState=bZ>0?4:0;var bT,b4,b3,bX=bU,bY=b0?bj(bD,bJ,b0):L,bV,b2;if(bZ>=200&&bZ<300||bZ===304){if(bD.ifModified){if((bV=bJ.getResponseHeader("Last-Modified"))){b.lastModified[bC]=bV}if((b2=bJ.getResponseHeader("Etag"))){b.etag[bC]=b2}}if(bZ===304){bX="notmodified";bT=true}else{try{b4=G(bD,bY);bX="success";bT=true}catch(b1){bX="parsererror";b3=b1}}}else{b3=bX;if(!bX||bZ){bX="error";if(bZ<0){bZ=0}}}bJ.status=bZ;bJ.statusText=""+(bU||bX);if(bT){bR.resolveWith(bS,[b4,bX,bJ])}else{bR.rejectWith(bS,[bJ,bX,b3])}bJ.statusCode(bB);bB=L;if(bw){bG.trigger("ajax"+(bT?"Success":"Error"),[bJ,bD,bT?b4:b3])}bN.fireWith(bS,[bJ,bX]);if(bw){bG.trigger("ajaxComplete",[bJ,bD]);if(!(--b.active)){b.event.trigger("ajaxStop")}}}bR.promise(bJ);bJ.success=bJ.done;bJ.error=bJ.fail;bJ.complete=bN.add;bJ.statusCode=function(bT){if(bT){var e;if(bA<2){for(e in bT){bB[e]=[bB[e],bT[e]]}}else{e=bT[bJ.status];bJ.then(e,e)}}return this};bD.url=((bz||bD.url)+"").replace(bq,"").replace(c,s[1]+"//");bD.dataTypes=b.trim(bD.dataType||"*").toLowerCase().split(h);if(bD.crossDomain==null){bI=K.exec(bD.url.toLowerCase());bD.crossDomain=!!(bI&&(bI[1]!=s[1]||bI[2]!=s[2]||(bI[3]||(bI[1]==="http:"?80:443))!=(s[3]||(s[1]==="http:"?80:443))))}if(bD.data&&bD.processData&&typeof bD.data!=="string"){bD.data=b.param(bD.data,bD.traditional)}aW(aa,bD,bx,bJ);if(bA===2){return false}bw=bD.global;bD.type=bD.type.toUpperCase();bD.hasContent=!aQ.test(bD.type);if(bw&&b.active++===0){b.event.trigger("ajaxStart")}if(!bD.hasContent){if(bD.data){bD.url+=(M.test(bD.url)?"&":"?")+bD.data;delete bD.data}bC=bD.url;if(bD.cache===false){var bv=b.now(),bP=bD.url.replace(br,"$1_="+bv);bD.url=bP+((bP===bD.url)?(M.test(bD.url)?"&":"?")+"_="+bv:"")}}if(bD.data&&bD.hasContent&&bD.contentType!==false||bx.contentType){bJ.setRequestHeader("Content-Type",bD.contentType)}if(bD.ifModified){bC=bC||bD.url;if(b.lastModified[bC]){bJ.setRequestHeader("If-Modified-Since",b.lastModified[bC])}if(b.etag[bC]){bJ.setRequestHeader("If-None-Match",b.etag[bC])}}bJ.setRequestHeader("Accept",bD.dataTypes[0]&&bD.accepts[bD.dataTypes[0]]?bD.accepts[bD.dataTypes[0]]+(bD.dataTypes[0]!=="*"?", "+aV+"; q=0.01":""):bD.accepts["*"]);for(bK in bD.headers){bJ.setRequestHeader(bK,bD.headers[bK])}if(bD.beforeSend&&(bD.beforeSend.call(bS,bJ,bD)===false||bA===2)){bJ.abort();return false}for(bK in {success:1,error:1,complete:1}){bJ[bK](bD[bK])}bL=aW(r,bD,bx,bJ);if(!bL){bF(-1,"No Transport")}else{bJ.readyState=1;if(bw){bG.trigger("ajaxSend",[bJ,bD])}if(bD.async&&bD.timeout>0){bE=setTimeout(function(){bJ.abort("timeout")},bD.timeout)}try{bA=1;bL.send(bH,bF)}catch(bM){if(bA<2){bF(-1,bM)}else{throw bM}}}return bJ},param:function(e,bw){var bv=[],by=function(bz,bA){bA=b.isFunction(bA)?bA():bA;bv[bv.length]=encodeURIComponent(bz)+"="+encodeURIComponent(bA)};if(bw===L){bw=b.ajaxSettings.traditional}if(b.isArray(e)||(e.jquery&&!b.isPlainObject(e))){b.each(e,function(){by(this.name,this.value)})}else{for(var bx in e){v(bx,e[bx],bw,by)}}return bv.join("&").replace(k,"+")}});function v(bw,by,bv,bx){if(b.isArray(by)){b.each(by,function(bA,bz){if(bv||ap.test(bw)){bx(bw,bz)}else{v(bw+"["+(typeof bz==="object"||b.isArray(bz)?bA:"")+"]",bz,bv,bx)}})}else{if(!bv&&by!=null&&typeof by==="object"){for(var e in by){v(bw+"["+e+"]",by[e],bv,bx)}}else{bx(bw,by)}}}b.extend({active:0,lastModified:{},etag:{}});function bj(bD,bC,bz){var bv=bD.contents,bB=bD.dataTypes,bw=bD.responseFields,by,bA,bx,e;for(bA in bw){if(bA in bz){bC[bw[bA]]=bz[bA]}}while(bB[0]==="*"){bB.shift();if(by===L){by=bD.mimeType||bC.getResponseHeader("content-type")}}if(by){for(bA in bv){if(bv[bA]&&bv[bA].test(by)){bB.unshift(bA);break}}}if(bB[0] in bz){bx=bB[0]}else{for(bA in bz){if(!bB[0]||bD.converters[bA+" "+bB[0]]){bx=bA;break}if(!e){e=bA}}bx=bx||e}if(bx){if(bx!==bB[0]){bB.unshift(bx)}return bz[bx]}}function G(bH,bz){if(bH.dataFilter){bz=bH.dataFilter(bz,bH.dataType)}var bD=bH.dataTypes,bG={},bA,bE,bw=bD.length,bB,bC=bD[0],bx,by,bF,bv,e;for(bA=1;bA=bw.duration+this.startTime){this.now=this.end;this.pos=this.state=1;this.update();bw.animatedProperties[this.prop]=true;for(bA in bw.animatedProperties){if(bw.animatedProperties[bA]!==true){e=false}}if(e){if(bw.overflow!=null&&!b.support.shrinkWrapBlocks){b.each(["","X","Y"],function(bC,bD){bz.style["overflow"+bD]=bw.overflow[bC]})}if(bw.hide){b(bz).hide()}if(bw.hide||bw.show){for(bA in bw.animatedProperties){b.style(bz,bA,bw.orig[bA]);b.removeData(bz,"fxshow"+bA,true);b.removeData(bz,"toggle"+bA,true)}}bv=bw.complete;if(bv){bw.complete=false;bv.call(bz)}}return false}else{if(bw.duration==Infinity){this.now=bx}else{bB=bx-this.startTime;this.state=bB/bw.duration;this.pos=b.easing[bw.animatedProperties[this.prop]](this.state,bB,0,1,bw.duration);this.now=this.start+((this.end-this.start)*this.pos)}this.update()}return true}};b.extend(b.fx,{tick:function(){var bw,bv=b.timers,e=0;for(;e").appendTo(e),bw=bv.css("display");bv.remove();if(bw==="none"||bw===""){if(!a8){a8=av.createElement("iframe");a8.frameBorder=a8.width=a8.height=0}e.appendChild(a8);if(!m||!a8.createElement){m=(a8.contentWindow||a8.contentDocument).document;m.write((av.compatMode==="CSS1Compat"?"":"")+"");m.close()}bv=m.createElement(bx);m.body.appendChild(bv);bw=b.css(bv,"display");e.removeChild(a8)}Q[bx]=bw}return Q[bx]}var V=/^t(?:able|d|h)$/i,ad=/^(?:body|html)$/i;if("getBoundingClientRect" in av.documentElement){b.fn.offset=function(bI){var by=this[0],bB;if(bI){return this.each(function(e){b.offset.setOffset(this,bI,e)})}if(!by||!by.ownerDocument){return null}if(by===by.ownerDocument.body){return b.offset.bodyOffset(by)}try{bB=by.getBoundingClientRect()}catch(bF){}var bH=by.ownerDocument,bw=bH.documentElement;if(!bB||!b.contains(bw,by)){return bB?{top:bB.top,left:bB.left}:{top:0,left:0}}var bC=bH.body,bD=aK(bH),bA=bw.clientTop||bC.clientTop||0,bE=bw.clientLeft||bC.clientLeft||0,bv=bD.pageYOffset||b.support.boxModel&&bw.scrollTop||bC.scrollTop,bz=bD.pageXOffset||b.support.boxModel&&bw.scrollLeft||bC.scrollLeft,bG=bB.top+bv-bA,bx=bB.left+bz-bE;return{top:bG,left:bx}}}else{b.fn.offset=function(bF){var bz=this[0];if(bF){return this.each(function(bG){b.offset.setOffset(this,bF,bG)})}if(!bz||!bz.ownerDocument){return null}if(bz===bz.ownerDocument.body){return b.offset.bodyOffset(bz)}var bC,bw=bz.offsetParent,bv=bz,bE=bz.ownerDocument,bx=bE.documentElement,bA=bE.body,bB=bE.defaultView,e=bB?bB.getComputedStyle(bz,null):bz.currentStyle,bD=bz.offsetTop,by=bz.offsetLeft;while((bz=bz.parentNode)&&bz!==bA&&bz!==bx){if(b.support.fixedPosition&&e.position==="fixed"){break}bC=bB?bB.getComputedStyle(bz,null):bz.currentStyle;bD-=bz.scrollTop;by-=bz.scrollLeft;if(bz===bw){bD+=bz.offsetTop;by+=bz.offsetLeft;if(b.support.doesNotAddBorder&&!(b.support.doesAddBorderForTableAndCells&&V.test(bz.nodeName))){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}bv=bw;bw=bz.offsetParent}if(b.support.subtractsBorderForOverflowNotVisible&&bC.overflow!=="visible"){bD+=parseFloat(bC.borderTopWidth)||0;by+=parseFloat(bC.borderLeftWidth)||0}e=bC}if(e.position==="relative"||e.position==="static"){bD+=bA.offsetTop;by+=bA.offsetLeft}if(b.support.fixedPosition&&e.position==="fixed"){bD+=Math.max(bx.scrollTop,bA.scrollTop);by+=Math.max(bx.scrollLeft,bA.scrollLeft)}return{top:bD,left:by}}}b.offset={bodyOffset:function(e){var bw=e.offsetTop,bv=e.offsetLeft;if(b.support.doesNotIncludeMarginInBodyOffset){bw+=parseFloat(b.css(e,"marginTop"))||0;bv+=parseFloat(b.css(e,"marginLeft"))||0}return{top:bw,left:bv}},setOffset:function(bx,bG,bA){var bB=b.css(bx,"position");if(bB==="static"){bx.style.position="relative"}var bz=b(bx),bv=bz.offset(),e=b.css(bx,"top"),bE=b.css(bx,"left"),bF=(bB==="absolute"||bB==="fixed")&&b.inArray("auto",[e,bE])>-1,bD={},bC={},bw,by;if(bF){bC=bz.position();bw=bC.top;by=bC.left}else{bw=parseFloat(e)||0;by=parseFloat(bE)||0}if(b.isFunction(bG)){bG=bG.call(bx,bA,bv)}if(bG.top!=null){bD.top=(bG.top-bv.top)+bw}if(bG.left!=null){bD.left=(bG.left-bv.left)+by}if("using" in bG){bG.using.call(bx,bD)}else{bz.css(bD)}}};b.fn.extend({position:function(){if(!this[0]){return null}var bw=this[0],bv=this.offsetParent(),bx=this.offset(),e=ad.test(bv[0].nodeName)?{top:0,left:0}:bv.offset();bx.top-=parseFloat(b.css(bw,"marginTop"))||0;bx.left-=parseFloat(b.css(bw,"marginLeft"))||0;e.top+=parseFloat(b.css(bv[0],"borderTopWidth"))||0;e.left+=parseFloat(b.css(bv[0],"borderLeftWidth"))||0;return{top:bx.top-e.top,left:bx.left-e.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||av.body;while(e&&(!ad.test(e.nodeName)&&b.css(e,"position")==="static")){e=e.offsetParent}return e})}});b.each(["Left","Top"],function(bv,e){var bw="scroll"+e;b.fn[bw]=function(bz){var bx,by;if(bz===L){bx=this[0];if(!bx){return null}by=aK(bx);return by?("pageXOffset" in by)?by[bv?"pageYOffset":"pageXOffset"]:b.support.boxModel&&by.document.documentElement[bw]||by.document.body[bw]:bx[bw]}return this.each(function(){by=aK(this);if(by){by.scrollTo(!bv?bz:b(by).scrollLeft(),bv?bz:b(by).scrollTop())}else{this[bw]=bz}})}});function aK(e){return b.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:false}b.each(["Height","Width"],function(bv,e){var bw=e.toLowerCase();b.fn["inner"+e]=function(){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,"padding")):this[bw]():null};b.fn["outer"+e]=function(by){var bx=this[0];return bx?bx.style?parseFloat(b.css(bx,bw,by?"margin":"border")):this[bw]():null};b.fn[bw]=function(bz){var bA=this[0];if(!bA){return bz==null?null:this}if(b.isFunction(bz)){return this.each(function(bE){var bD=b(this);bD[bw](bz.call(this,bE,bD[bw]()))})}if(b.isWindow(bA)){var bB=bA.document.documentElement["client"+e],bx=bA.document.body;return bA.document.compatMode==="CSS1Compat"&&bB||bx&&bx["client"+e]||bB}else{if(bA.nodeType===9){return Math.max(bA.documentElement["client"+e],bA.body["scroll"+e],bA.documentElement["scroll"+e],bA.body["offset"+e],bA.documentElement["offset"+e])}else{if(bz===L){var bC=b.css(bA,bw),by=parseFloat(bC);return b.isNumeric(by)?by:bC}else{return this.css(bw,typeof bz==="string"?bz:bz+"px")}}}}});bb.jQuery=bb.$=b;if(typeof define==="function"&&define.amd&&define.amd.jQuery){define("jquery",[],function(){return b})}})(window);/*! + * jQuery UI 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI + */ +(function(a,d){a.ui=a.ui||{};if(a.ui.version){return}a.extend(a.ui,{version:"1.8.18",keyCode:{ALT:18,BACKSPACE:8,CAPS_LOCK:20,COMMA:188,COMMAND:91,COMMAND_LEFT:91,COMMAND_RIGHT:93,CONTROL:17,DELETE:46,DOWN:40,END:35,ENTER:13,ESCAPE:27,HOME:36,INSERT:45,LEFT:37,MENU:93,NUMPAD_ADD:107,NUMPAD_DECIMAL:110,NUMPAD_DIVIDE:111,NUMPAD_ENTER:108,NUMPAD_MULTIPLY:106,NUMPAD_SUBTRACT:109,PAGE_DOWN:34,PAGE_UP:33,PERIOD:190,RIGHT:39,SHIFT:16,SPACE:32,TAB:9,UP:38,WINDOWS:91}});a.fn.extend({propAttr:a.fn.prop||a.fn.attr,_focus:a.fn.focus,focus:function(e,f){return typeof e==="number"?this.each(function(){var g=this;setTimeout(function(){a(g).focus();if(f){f.call(g)}},e)}):this._focus.apply(this,arguments)},scrollParent:function(){var e;if((a.browser.msie&&(/(static|relative)/).test(this.css("position")))||(/absolute/).test(this.css("position"))){e=this.parents().filter(function(){return(/(relative|absolute|fixed)/).test(a.curCSS(this,"position",1))&&(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}else{e=this.parents().filter(function(){return(/(auto|scroll)/).test(a.curCSS(this,"overflow",1)+a.curCSS(this,"overflow-y",1)+a.curCSS(this,"overflow-x",1))}).eq(0)}return(/fixed/).test(this.css("position"))||!e.length?a(document):e},zIndex:function(h){if(h!==d){return this.css("zIndex",h)}if(this.length){var f=a(this[0]),e,g;while(f.length&&f[0]!==document){e=f.css("position");if(e==="absolute"||e==="relative"||e==="fixed"){g=parseInt(f.css("zIndex"),10);if(!isNaN(g)&&g!==0){return g}}f=f.parent()}}return 0},disableSelection:function(){return this.bind((a.support.selectstart?"selectstart":"mousedown")+".ui-disableSelection",function(e){e.preventDefault()})},enableSelection:function(){return this.unbind(".ui-disableSelection")}});a.each(["Width","Height"],function(g,e){var f=e==="Width"?["Left","Right"]:["Top","Bottom"],h=e.toLowerCase(),k={innerWidth:a.fn.innerWidth,innerHeight:a.fn.innerHeight,outerWidth:a.fn.outerWidth,outerHeight:a.fn.outerHeight};function j(m,l,i,n){a.each(f,function(){l-=parseFloat(a.curCSS(m,"padding"+this,true))||0;if(i){l-=parseFloat(a.curCSS(m,"border"+this+"Width",true))||0}if(n){l-=parseFloat(a.curCSS(m,"margin"+this,true))||0}});return l}a.fn["inner"+e]=function(i){if(i===d){return k["inner"+e].call(this)}return this.each(function(){a(this).css(h,j(this,i)+"px")})};a.fn["outer"+e]=function(i,l){if(typeof i!=="number"){return k["outer"+e].call(this,i)}return this.each(function(){a(this).css(h,j(this,i,true,l)+"px")})}});function c(g,e){var j=g.nodeName.toLowerCase();if("area"===j){var i=g.parentNode,h=i.name,f;if(!g.href||!h||i.nodeName.toLowerCase()!=="map"){return false}f=a("img[usemap=#"+h+"]")[0];return !!f&&b(f)}return(/input|select|textarea|button|object/.test(j)?!g.disabled:"a"==j?g.href||e:e)&&b(g)}function b(e){return !a(e).parents().andSelf().filter(function(){return a.curCSS(this,"visibility")==="hidden"||a.expr.filters.hidden(this)}).length}a.extend(a.expr[":"],{data:function(g,f,e){return !!a.data(g,e[3])},focusable:function(e){return c(e,!isNaN(a.attr(e,"tabindex")))},tabbable:function(g){var e=a.attr(g,"tabindex"),f=isNaN(e);return(f||e>=0)&&c(g,!f)}});a(function(){var e=document.body,f=e.appendChild(f=document.createElement("div"));f.offsetHeight;a.extend(f.style,{minHeight:"100px",height:"auto",padding:0,borderWidth:0});a.support.minHeight=f.offsetHeight===100;a.support.selectstart="onselectstart" in f;e.removeChild(f).style.display="none"});a.extend(a.ui,{plugin:{add:function(f,g,j){var h=a.ui[f].prototype;for(var e in j){h.plugins[e]=h.plugins[e]||[];h.plugins[e].push([g,j[e]])}},call:function(e,g,f){var j=e.plugins[g];if(!j||!e.element[0].parentNode){return}for(var h=0;h0){return true}h[e]=1;g=(h[e]>0);h[e]=0;return g},isOverAxis:function(f,e,g){return(f>e)&&(f<(e+g))},isOver:function(j,f,i,h,e,g){return a.ui.isOverAxis(j,i,e)&&a.ui.isOverAxis(f,h,g)}})})(jQuery);/*! + * jQuery UI Widget 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Widget + */ +(function(b,d){if(b.cleanData){var c=b.cleanData;b.cleanData=function(f){for(var g=0,h;(h=f[g])!=null;g++){try{b(h).triggerHandler("remove")}catch(j){}}c(f)}}else{var a=b.fn.remove;b.fn.remove=function(e,f){return this.each(function(){if(!f){if(!e||b.filter(e,[this]).length){b("*",this).add([this]).each(function(){try{b(this).triggerHandler("remove")}catch(g){}})}}return a.call(b(this),e,f)})}}b.widget=function(f,h,e){var g=f.split(".")[0],j;f=f.split(".")[1];j=g+"-"+f;if(!e){e=h;h=b.Widget}b.expr[":"][j]=function(k){return !!b.data(k,f)};b[g]=b[g]||{};b[g][f]=function(k,l){if(arguments.length){this._createWidget(k,l)}};var i=new h();i.options=b.extend(true,{},i.options);b[g][f].prototype=b.extend(true,i,{namespace:g,widgetName:f,widgetEventPrefix:b[g][f].prototype.widgetEventPrefix||f,widgetBaseClass:j},e);b.widget.bridge(f,b[g][f])};b.widget.bridge=function(f,e){b.fn[f]=function(i){var g=typeof i==="string",h=Array.prototype.slice.call(arguments,1),j=this;i=!g&&h.length?b.extend.apply(null,[true,i].concat(h)):i;if(g&&i.charAt(0)==="_"){return j}if(g){this.each(function(){var k=b.data(this,f),l=k&&b.isFunction(k[i])?k[i].apply(k,h):k;if(l!==k&&l!==d){j=l;return false}})}else{this.each(function(){var k=b.data(this,f);if(k){k.option(i||{})._init()}else{b.data(this,f,new e(i,this))}})}return j}};b.Widget=function(e,f){if(arguments.length){this._createWidget(e,f)}};b.Widget.prototype={widgetName:"widget",widgetEventPrefix:"",options:{disabled:false},_createWidget:function(f,g){b.data(g,this.widgetName,this);this.element=b(g);this.options=b.extend(true,{},this.options,this._getCreateOptions(),f);var e=this;this.element.bind("remove."+this.widgetName,function(){e.destroy()});this._create();this._trigger("create");this._init()},_getCreateOptions:function(){return b.metadata&&b.metadata.get(this.element[0])[this.widgetName]},_create:function(){},_init:function(){},destroy:function(){this.element.unbind("."+this.widgetName).removeData(this.widgetName);this.widget().unbind("."+this.widgetName).removeAttr("aria-disabled").removeClass(this.widgetBaseClass+"-disabled ui-state-disabled")},widget:function(){return this.element},option:function(f,g){var e=f;if(arguments.length===0){return b.extend({},this.options)}if(typeof f==="string"){if(g===d){return this.options[f]}e={};e[f]=g}this._setOptions(e);return this},_setOptions:function(f){var e=this;b.each(f,function(g,h){e._setOption(g,h)});return this},_setOption:function(e,f){this.options[e]=f;if(e==="disabled"){this.widget()[f?"addClass":"removeClass"](this.widgetBaseClass+"-disabled ui-state-disabled").attr("aria-disabled",f)}return this},enable:function(){return this._setOption("disabled",false)},disable:function(){return this._setOption("disabled",true)},_trigger:function(e,f,g){var j,i,h=this.options[e];g=g||{};f=b.Event(f);f.type=(e===this.widgetEventPrefix?e:this.widgetEventPrefix+e).toLowerCase();f.target=this.element[0];i=f.originalEvent;if(i){for(j in i){if(!(j in f)){f[j]=i[j]}}}this.element.trigger(f,g);return !(b.isFunction(h)&&h.call(this.element[0],f,g)===false||f.isDefaultPrevented())}}})(jQuery);/*! + * jQuery UI Mouse 1.8.18 + * + * Copyright 2011, AUTHORS.txt (http://jqueryui.com/about) + * Dual licensed under the MIT or GPL Version 2 licenses. + * http://jquery.org/license + * + * http://docs.jquery.com/UI/Mouse + * + * Depends: + * jquery.ui.widget.js + */ +(function(b,c){var a=false;b(document).mouseup(function(d){a=false});b.widget("ui.mouse",{options:{cancel:":input,option",distance:1,delay:0},_mouseInit:function(){var d=this;this.element.bind("mousedown."+this.widgetName,function(e){return d._mouseDown(e)}).bind("click."+this.widgetName,function(e){if(true===b.data(e.target,d.widgetName+".preventClickEvent")){b.removeData(e.target,d.widgetName+".preventClickEvent");e.stopImmediatePropagation();return false}});this.started=false},_mouseDestroy:function(){this.element.unbind("."+this.widgetName)},_mouseDown:function(f){if(a){return}(this._mouseStarted&&this._mouseUp(f));this._mouseDownEvent=f;var e=this,g=(f.which==1),d=(typeof this.options.cancel=="string"&&f.target.nodeName?b(f.target).closest(this.options.cancel).length:false);if(!g||d||!this._mouseCapture(f)){return true}this.mouseDelayMet=!this.options.delay;if(!this.mouseDelayMet){this._mouseDelayTimer=setTimeout(function(){e.mouseDelayMet=true},this.options.delay)}if(this._mouseDistanceMet(f)&&this._mouseDelayMet(f)){this._mouseStarted=(this._mouseStart(f)!==false);if(!this._mouseStarted){f.preventDefault();return true}}if(true===b.data(f.target,this.widgetName+".preventClickEvent")){b.removeData(f.target,this.widgetName+".preventClickEvent")}this._mouseMoveDelegate=function(h){return e._mouseMove(h)};this._mouseUpDelegate=function(h){return e._mouseUp(h)};b(document).bind("mousemove."+this.widgetName,this._mouseMoveDelegate).bind("mouseup."+this.widgetName,this._mouseUpDelegate);f.preventDefault();a=true;return true},_mouseMove:function(d){if(b.browser.msie&&!(document.documentMode>=9)&&!d.button){return this._mouseUp(d)}if(this._mouseStarted){this._mouseDrag(d);return d.preventDefault()}if(this._mouseDistanceMet(d)&&this._mouseDelayMet(d)){this._mouseStarted=(this._mouseStart(this._mouseDownEvent,d)!==false);(this._mouseStarted?this._mouseDrag(d):this._mouseUp(d))}return !this._mouseStarted},_mouseUp:function(d){b(document).unbind("mousemove."+this.widgetName,this._mouseMoveDelegate).unbind("mouseup."+this.widgetName,this._mouseUpDelegate);if(this._mouseStarted){this._mouseStarted=false;if(d.target==this._mouseDownEvent.target){b.data(d.target,this.widgetName+".preventClickEvent",true)}this._mouseStop(d)}return false},_mouseDistanceMet:function(d){return(Math.max(Math.abs(this._mouseDownEvent.pageX-d.pageX),Math.abs(this._mouseDownEvent.pageY-d.pageY))>=this.options.distance)},_mouseDelayMet:function(d){return this.mouseDelayMet},_mouseStart:function(d){},_mouseDrag:function(d){},_mouseStop:function(d){},_mouseCapture:function(d){return true}})})(jQuery);(function(c,d){c.widget("ui.resizable",c.ui.mouse,{widgetEventPrefix:"resize",options:{alsoResize:false,animate:false,animateDuration:"slow",animateEasing:"swing",aspectRatio:false,autoHide:false,containment:false,ghost:false,grid:false,handles:"e,s,se",helper:false,maxHeight:null,maxWidth:null,minHeight:10,minWidth:10,zIndex:1000},_create:function(){var f=this,k=this.options;this.element.addClass("ui-resizable");c.extend(this,{_aspectRatio:!!(k.aspectRatio),aspectRatio:k.aspectRatio,originalElement:this.element,_proportionallyResizeElements:[],_helper:k.helper||k.ghost||k.animate?k.helper||"ui-resizable-helper":null});if(this.element[0].nodeName.match(/canvas|textarea|input|select|button|img/i)){this.element.wrap(c('
').css({position:this.element.css("position"),width:this.element.outerWidth(),height:this.element.outerHeight(),top:this.element.css("top"),left:this.element.css("left")}));this.element=this.element.parent().data("resizable",this.element.data("resizable"));this.elementIsWrapper=true;this.element.css({marginLeft:this.originalElement.css("marginLeft"),marginTop:this.originalElement.css("marginTop"),marginRight:this.originalElement.css("marginRight"),marginBottom:this.originalElement.css("marginBottom")});this.originalElement.css({marginLeft:0,marginTop:0,marginRight:0,marginBottom:0});this.originalResizeStyle=this.originalElement.css("resize");this.originalElement.css("resize","none");this._proportionallyResizeElements.push(this.originalElement.css({position:"static",zoom:1,display:"block"}));this.originalElement.css({margin:this.originalElement.css("margin")});this._proportionallyResize()}this.handles=k.handles||(!c(".ui-resizable-handle",this.element).length?"e,s,se":{n:".ui-resizable-n",e:".ui-resizable-e",s:".ui-resizable-s",w:".ui-resizable-w",se:".ui-resizable-se",sw:".ui-resizable-sw",ne:".ui-resizable-ne",nw:".ui-resizable-nw"});if(this.handles.constructor==String){if(this.handles=="all"){this.handles="n,e,s,w,se,sw,ne,nw"}var l=this.handles.split(",");this.handles={};for(var g=0;g
');if(/sw|se|ne|nw/.test(j)){h.css({zIndex:++k.zIndex})}if("se"==j){h.addClass("ui-icon ui-icon-gripsmall-diagonal-se")}this.handles[j]=".ui-resizable-"+j;this.element.append(h)}}this._renderAxis=function(q){q=q||this.element;for(var n in this.handles){if(this.handles[n].constructor==String){this.handles[n]=c(this.handles[n],this.element).show()}if(this.elementIsWrapper&&this.originalElement[0].nodeName.match(/textarea|input|select|button/i)){var o=c(this.handles[n],this.element),p=0;p=/sw|ne|nw|se|n|s/.test(n)?o.outerHeight():o.outerWidth();var m=["padding",/ne|nw|n/.test(n)?"Top":/se|sw|s/.test(n)?"Bottom":/^e$/.test(n)?"Right":"Left"].join("");q.css(m,p);this._proportionallyResize()}if(!c(this.handles[n]).length){continue}}};this._renderAxis(this.element);this._handles=c(".ui-resizable-handle",this.element).disableSelection();this._handles.mouseover(function(){if(!f.resizing){if(this.className){var i=this.className.match(/ui-resizable-(se|sw|ne|nw|n|e|s|w)/i)}f.axis=i&&i[1]?i[1]:"se"}});if(k.autoHide){this._handles.hide();c(this.element).addClass("ui-resizable-autohide").hover(function(){if(k.disabled){return}c(this).removeClass("ui-resizable-autohide");f._handles.show()},function(){if(k.disabled){return}if(!f.resizing){c(this).addClass("ui-resizable-autohide");f._handles.hide()}})}this._mouseInit()},destroy:function(){this._mouseDestroy();var e=function(g){c(g).removeClass("ui-resizable ui-resizable-disabled ui-resizable-resizing").removeData("resizable").unbind(".resizable").find(".ui-resizable-handle").remove()};if(this.elementIsWrapper){e(this.element);var f=this.element;f.after(this.originalElement.css({position:f.css("position"),width:f.outerWidth(),height:f.outerHeight(),top:f.css("top"),left:f.css("left")})).remove()}this.originalElement.css("resize",this.originalResizeStyle);e(this.originalElement);return this},_mouseCapture:function(f){var g=false;for(var e in this.handles){if(c(this.handles[e])[0]==f.target){g=true}}return !this.options.disabled&&g},_mouseStart:function(g){var j=this.options,f=this.element.position(),e=this.element;this.resizing=true;this.documentScroll={top:c(document).scrollTop(),left:c(document).scrollLeft()};if(e.is(".ui-draggable")||(/absolute/).test(e.css("position"))){e.css({position:"absolute",top:f.top,left:f.left})}this._renderProxy();var k=b(this.helper.css("left")),h=b(this.helper.css("top"));if(j.containment){k+=c(j.containment).scrollLeft()||0;h+=c(j.containment).scrollTop()||0}this.offset=this.helper.offset();this.position={left:k,top:h};this.size=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalSize=this._helper?{width:e.outerWidth(),height:e.outerHeight()}:{width:e.width(),height:e.height()};this.originalPosition={left:k,top:h};this.sizeDiff={width:e.outerWidth()-e.width(),height:e.outerHeight()-e.height()};this.originalMousePosition={left:g.pageX,top:g.pageY};this.aspectRatio=(typeof j.aspectRatio=="number")?j.aspectRatio:((this.originalSize.width/this.originalSize.height)||1);var i=c(".ui-resizable-"+this.axis).css("cursor");c("body").css("cursor",i=="auto"?this.axis+"-resize":i);e.addClass("ui-resizable-resizing");this._propagate("start",g);return true},_mouseDrag:function(e){var h=this.helper,g=this.options,m={},q=this,j=this.originalMousePosition,n=this.axis;var r=(e.pageX-j.left)||0,p=(e.pageY-j.top)||0;var i=this._change[n];if(!i){return false}var l=i.apply(this,[e,r,p]),k=c.browser.msie&&c.browser.version<7,f=this.sizeDiff;this._updateVirtualBoundaries(e.shiftKey);if(this._aspectRatio||e.shiftKey){l=this._updateRatio(l,e)}l=this._respectSize(l,e);this._propagate("resize",e);h.css({top:this.position.top+"px",left:this.position.left+"px",width:this.size.width+"px",height:this.size.height+"px"});if(!this._helper&&this._proportionallyResizeElements.length){this._proportionallyResize()}this._updateCache(l);this._trigger("resize",e,this.ui());return false},_mouseStop:function(h){this.resizing=false;var i=this.options,m=this;if(this._helper){var g=this._proportionallyResizeElements,e=g.length&&(/textarea/i).test(g[0].nodeName),f=e&&c.ui.hasScroll(g[0],"left")?0:m.sizeDiff.height,k=e?0:m.sizeDiff.width;var n={width:(m.helper.width()-k),height:(m.helper.height()-f)},j=(parseInt(m.element.css("left"),10)+(m.position.left-m.originalPosition.left))||null,l=(parseInt(m.element.css("top"),10)+(m.position.top-m.originalPosition.top))||null;if(!i.animate){this.element.css(c.extend(n,{top:l,left:j}))}m.helper.height(m.size.height);m.helper.width(m.size.width);if(this._helper&&!i.animate){this._proportionallyResize()}}c("body").css("cursor","auto");this.element.removeClass("ui-resizable-resizing");this._propagate("stop",h);if(this._helper){this.helper.remove()}return false},_updateVirtualBoundaries:function(g){var j=this.options,i,h,f,k,e;e={minWidth:a(j.minWidth)?j.minWidth:0,maxWidth:a(j.maxWidth)?j.maxWidth:Infinity,minHeight:a(j.minHeight)?j.minHeight:0,maxHeight:a(j.maxHeight)?j.maxHeight:Infinity};if(this._aspectRatio||g){i=e.minHeight*this.aspectRatio;f=e.minWidth/this.aspectRatio;h=e.maxHeight*this.aspectRatio;k=e.maxWidth/this.aspectRatio;if(i>e.minWidth){e.minWidth=i}if(f>e.minHeight){e.minHeight=f}if(hl.width),s=a(l.height)&&i.minHeight&&(i.minHeight>l.height);if(h){l.width=i.minWidth}if(s){l.height=i.minHeight}if(t){l.width=i.maxWidth}if(m){l.height=i.maxHeight}var f=this.originalPosition.left+this.originalSize.width,p=this.position.top+this.size.height;var k=/sw|nw|w/.test(q),e=/nw|ne|n/.test(q);if(h&&k){l.left=f-i.minWidth}if(t&&k){l.left=f-i.maxWidth}if(s&&e){l.top=p-i.minHeight}if(m&&e){l.top=p-i.maxHeight}var n=!l.width&&!l.height;if(n&&!l.left&&l.top){l.top=null}else{if(n&&!l.top&&l.left){l.left=null}}return l},_proportionallyResize:function(){var k=this.options;if(!this._proportionallyResizeElements.length){return}var g=this.helper||this.element;for(var f=0;f');var e=c.browser.msie&&c.browser.version<7,g=(e?1:0),h=(e?2:-1);this.helper.addClass(this._helper).css({width:this.element.outerWidth()+h,height:this.element.outerHeight()+h,position:"absolute",left:this.elementOffset.left-g+"px",top:this.elementOffset.top-g+"px",zIndex:++i.zIndex});this.helper.appendTo("body").disableSelection()}else{this.helper=this.element}},_change:{e:function(g,f,e){return{width:this.originalSize.width+f}},w:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{left:i.left+f,width:g.width-f}},n:function(h,f,e){var j=this.options,g=this.originalSize,i=this.originalPosition;return{top:i.top+e,height:g.height-e}},s:function(g,f,e){return{height:this.originalSize.height+e}},se:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},sw:function(g,f,e){return c.extend(this._change.s.apply(this,arguments),this._change.w.apply(this,[g,f,e]))},ne:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.e.apply(this,[g,f,e]))},nw:function(g,f,e){return c.extend(this._change.n.apply(this,arguments),this._change.w.apply(this,[g,f,e]))}},_propagate:function(f,e){c.ui.plugin.call(this,f,[e,this.ui()]);(f!="resize"&&this._trigger(f,e,this.ui()))},plugins:{},ui:function(){return{originalElement:this.originalElement,element:this.element,helper:this.helper,position:this.position,size:this.size,originalSize:this.originalSize,originalPosition:this.originalPosition}}});c.extend(c.ui.resizable,{version:"1.8.18"});c.ui.plugin.add("resizable","alsoResize",{start:function(f,g){var e=c(this).data("resizable"),i=e.options;var h=function(j){c(j).each(function(){var k=c(this);k.data("resizable-alsoresize",{width:parseInt(k.width(),10),height:parseInt(k.height(),10),left:parseInt(k.css("left"),10),top:parseInt(k.css("top"),10)})})};if(typeof(i.alsoResize)=="object"&&!i.alsoResize.parentNode){if(i.alsoResize.length){i.alsoResize=i.alsoResize[0];h(i.alsoResize)}else{c.each(i.alsoResize,function(j){h(j)})}}else{h(i.alsoResize)}},resize:function(g,i){var f=c(this).data("resizable"),j=f.options,h=f.originalSize,l=f.originalPosition;var k={height:(f.size.height-h.height)||0,width:(f.size.width-h.width)||0,top:(f.position.top-l.top)||0,left:(f.position.left-l.left)||0},e=function(m,n){c(m).each(function(){var q=c(this),r=c(this).data("resizable-alsoresize"),p={},o=n&&n.length?n:q.parents(i.originalElement[0]).length?["width","height"]:["width","height","top","left"];c.each(o,function(s,u){var t=(r[u]||0)+(k[u]||0);if(t&&t>=0){p[u]=t||null}});q.css(p)})};if(typeof(j.alsoResize)=="object"&&!j.alsoResize.nodeType){c.each(j.alsoResize,function(m,n){e(m,n)})}else{e(j.alsoResize)}},stop:function(e,f){c(this).removeData("resizable-alsoresize")}});c.ui.plugin.add("resizable","animate",{stop:function(i,n){var p=c(this).data("resizable"),j=p.options;var h=p._proportionallyResizeElements,e=h.length&&(/textarea/i).test(h[0].nodeName),f=e&&c.ui.hasScroll(h[0],"left")?0:p.sizeDiff.height,l=e?0:p.sizeDiff.width;var g={width:(p.size.width-l),height:(p.size.height-f)},k=(parseInt(p.element.css("left"),10)+(p.position.left-p.originalPosition.left))||null,m=(parseInt(p.element.css("top"),10)+(p.position.top-p.originalPosition.top))||null;p.element.animate(c.extend(g,m&&k?{top:m,left:k}:{}),{duration:j.animateDuration,easing:j.animateEasing,step:function(){var o={width:parseInt(p.element.css("width"),10),height:parseInt(p.element.css("height"),10),top:parseInt(p.element.css("top"),10),left:parseInt(p.element.css("left"),10)};if(h&&h.length){c(h[0]).css({width:o.width,height:o.height})}p._updateCache(o);p._propagate("resize",i)}})}});c.ui.plugin.add("resizable","containment",{start:function(f,r){var t=c(this).data("resizable"),j=t.options,l=t.element;var g=j.containment,k=(g instanceof c)?g.get(0):(/parent/.test(g))?l.parent().get(0):g;if(!k){return}t.containerElement=c(k);if(/document/.test(g)||g==document){t.containerOffset={left:0,top:0};t.containerPosition={left:0,top:0};t.parentData={element:c(document),left:0,top:0,width:c(document).width(),height:c(document).height()||document.body.parentNode.scrollHeight}}else{var n=c(k),i=[];c(["Top","Right","Left","Bottom"]).each(function(p,o){i[p]=b(n.css("padding"+o))});t.containerOffset=n.offset();t.containerPosition=n.position();t.containerSize={height:(n.innerHeight()-i[3]),width:(n.innerWidth()-i[1])};var q=t.containerOffset,e=t.containerSize.height,m=t.containerSize.width,h=(c.ui.hasScroll(k,"left")?k.scrollWidth:m),s=(c.ui.hasScroll(k)?k.scrollHeight:e);t.parentData={element:k,left:q.left,top:q.top,width:h,height:s}}},resize:function(g,q){var t=c(this).data("resizable"),i=t.options,f=t.containerSize,p=t.containerOffset,m=t.size,n=t.position,r=t._aspectRatio||g.shiftKey,e={top:0,left:0},h=t.containerElement;if(h[0]!=document&&(/static/).test(h.css("position"))){e=p}if(n.left<(t._helper?p.left:0)){t.size.width=t.size.width+(t._helper?(t.position.left-p.left):(t.position.left-e.left));if(r){t.size.height=t.size.width/i.aspectRatio}t.position.left=i.helper?p.left:0}if(n.top<(t._helper?p.top:0)){t.size.height=t.size.height+(t._helper?(t.position.top-p.top):t.position.top);if(r){t.size.width=t.size.height*i.aspectRatio}t.position.top=t._helper?p.top:0}t.offset.left=t.parentData.left+t.position.left;t.offset.top=t.parentData.top+t.position.top;var l=Math.abs((t._helper?t.offset.left-e.left:(t.offset.left-e.left))+t.sizeDiff.width),s=Math.abs((t._helper?t.offset.top-e.top:(t.offset.top-p.top))+t.sizeDiff.height);var k=t.containerElement.get(0)==t.element.parent().get(0),j=/relative|absolute/.test(t.containerElement.css("position"));if(k&&j){l-=t.parentData.left}if(l+t.size.width>=t.parentData.width){t.size.width=t.parentData.width-l;if(r){t.size.height=t.size.width/t.aspectRatio}}if(s+t.size.height>=t.parentData.height){t.size.height=t.parentData.height-s;if(r){t.size.width=t.size.height*t.aspectRatio}}},stop:function(f,n){var q=c(this).data("resizable"),g=q.options,l=q.position,m=q.containerOffset,e=q.containerPosition,i=q.containerElement;var j=c(q.helper),r=j.offset(),p=j.outerWidth()-q.sizeDiff.width,k=j.outerHeight()-q.sizeDiff.height;if(q._helper&&!g.animate&&(/relative/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}if(q._helper&&!g.animate&&(/static/).test(i.css("position"))){c(this).css({left:r.left-e.left-m.left,width:p,height:k})}}});c.ui.plugin.add("resizable","ghost",{start:function(g,h){var e=c(this).data("resizable"),i=e.options,f=e.size;e.ghost=e.originalElement.clone();e.ghost.css({opacity:0.25,display:"block",position:"relative",height:f.height,width:f.width,margin:0,left:0,top:0}).addClass("ui-resizable-ghost").addClass(typeof i.ghost=="string"?i.ghost:"");e.ghost.appendTo(e.helper)},resize:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost){e.ghost.css({position:"relative",height:e.size.height,width:e.size.width})}},stop:function(f,g){var e=c(this).data("resizable"),h=e.options;if(e.ghost&&e.helper){e.helper.get(0).removeChild(e.ghost.get(0))}}});c.ui.plugin.add("resizable","grid",{resize:function(e,m){var p=c(this).data("resizable"),h=p.options,k=p.size,i=p.originalSize,j=p.originalPosition,n=p.axis,l=h._aspectRatio||e.shiftKey;h.grid=typeof h.grid=="number"?[h.grid,h.grid]:h.grid;var g=Math.round((k.width-i.width)/(h.grid[0]||1))*(h.grid[0]||1),f=Math.round((k.height-i.height)/(h.grid[1]||1))*(h.grid[1]||1);if(/^(se|s|e)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f}else{if(/^(ne)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f}else{if(/^(sw)$/.test(n)){p.size.width=i.width+g;p.size.height=i.height+f;p.position.left=j.left-g}else{p.size.width=i.width+g;p.size.height=i.height+f;p.position.top=j.top-f;p.position.left=j.left-g}}}}});var b=function(e){return parseInt(e,10)||0};var a=function(e){return !isNaN(parseInt(e,10))}})(jQuery);/*! + * jQuery hashchange event - v1.3 - 7/21/2010 + * http://benalman.com/projects/jquery-hashchange-plugin/ + * + * Copyright (c) 2010 "Cowboy" Ben Alman + * Dual licensed under the MIT and GPL licenses. + * http://benalman.com/about/license/ + */ +(function($,e,b){var c="hashchange",h=document,f,g=$.event.special,i=h.documentMode,d="on"+c in e&&(i===b||i>7);function a(j){j=j||location.href;return"#"+j.replace(/^[^#]*#?(.*)$/,"$1")}$.fn[c]=function(j){return j?this.bind(c,j):this.trigger(c)};$.fn[c].delay=50;g[c]=$.extend(g[c],{setup:function(){if(d){return false}$(f.start)},teardown:function(){if(d){return false}$(f.stop)}});f=(function(){var j={},p,m=a(),k=function(q){return q},l=k,o=k;j.start=function(){p||n()};j.stop=function(){p&&clearTimeout(p);p=b};function n(){var r=a(),q=o(m);if(r!==m){l(m=r,q);$(e).trigger(c)}else{if(q!==m){location.href=location.href.replace(/#.*/,"")+q}}p=setTimeout(n,$.fn[c].delay)}$.browser.msie&&!d&&(function(){var q,r;j.start=function(){if(!q){r=$.fn[c].src;r=r&&r+a();q=$(' + + + +
+
+
Changelog
+
+
+

All notable changes to this project will be documented in this file.

+

Unreleased

+
    +
  • TBD
  • +
+

4.4.0 - 2020-01-12

+
    +
  • Removed libpng, zlib, libfreetype and libjpeg from the project. These libraries should now be installed in devkitPro with pacman.
  • +
  • GRRLIB and pngu are now installed into the porlibs folder instead of the libogc folder.
  • +
  • Removed uint declaration. The u32 type should be used instead.
  • +
  • The GRRLIB_CreateEmptyTexture() function is not inline anymore.
  • +
+

4.3.2 - 2012-08-12

+
    +
  • libpng was updated to version 1.5.12
  • +
  • zlib was updated to version 1.2.7
  • +
  • libjpeg was updated to version 8d
  • +
  • FreeType updated to version 2.4.10
  • +
  • GRRLIB_ClampVar8() was removed from GRRLIB
  • +
  • Removed warnings from GRRLIB_LoadBMF()
  • +
+

4.3.1 - 2010-10-22

+
    +
  • libpng was updated to version 1.4.4
  • +
  • FreeType updated to version 2.4.3
  • +
  • GRRLIB is compatible with libogc 1.8.4
  • +
+

4.3.0 - 2010-06-28

+
    +
  • libpng was updated to version 1.4.2
  • +
  • libjpeg was updated to version 8b
  • +
  • zlib was updated to version 1.2.5
  • +
  • FreeType 2.3.12 support (first support)
  • +
  • 3D primitive drawing: torus, sphere, cube, cylinder and cone
  • +
  • Light functions (diffuse, specular, spot) + ambient
  • +
  • Splitted functions for rotation/translation/scaling 3d object.
  • +
  • Here is the list a new added samples demo code :
      +
    • 3d_light1 -> Simple Diffuse light sample code
    • +
    • 3d_light2 -> Simple Lights and GRRLIB_ObjectViewInv() sample
    • +
    • 3d_light3 -> A little Specular light sample code
    • +
    • 3d_light4 -> Spot Light Sample Code
    • +
    • 3D_sample5 -> Simple demo of rotation/translation/scaling 3d object.
    • +
    • ttf -> TrueType Font demo
    • +
    +
  • +
+

4.2.0 - 2009-12-16

+
    +
  • First support to 3D functions
  • +
  • GRRLIB_CompoStart() and GRRLIB_CompoEnd() for real GX compositing with transparency support
  • +
  • GRRLIB_Screen2Texture() is now fully optimized
  • +
  • USB_Gecko output facilities
  • +
  • GRRLIB_Compose() was deleted since it was not fully using GX
  • +
  • GRRLIB_GetColor() was deleted, the RGBA macro should be used instead
  • +
  • Lot of new sample code :
      +
    • 3D_CubedTileDemo (How to use dynamic texturing)
    • +
    • 3D_sample1 (A simple rotating flat cube)
    • +
    • 3D_sample2 (A simple rotating textured cube)
    • +
    • 3D_sample3 (A textured cube and compositing)
    • +
    • 3D_sample4 (A complex object rotating)
    • +
    • basic_drawing (How to use some basic GRRLIB functions)
    • +
    • bitmap_fx (Effects ShowRoom)
    • +
    • blending (How to use blending mode)
    • +
    • compositing (A simple compositing how to)
    • +
    • funsin (A gradient sinusoid dancing)
    • +
    • particle (A nice particle sample code)
    • +
    • template (Use this as a basis for your project)
    • +
    • TileDemo (This will show you how to use tiles/tileset and map)
    • +
    • unlimited2d (A faky technic for unlimited sprites)
    • +
    • unlimited3d (Same as above but with 3D)
    • +
    +
  • +
+

4.1.1 - 2009-11-24

+
    +
  • Fully compatible with devkitPro release 18 and 19 (code and examples)
  • +
  • libpng was updated to version 1.2.40
  • +
  • Support for MS-Windows Bitmap format uncompressed (1-bit, 4-bit, 8-bit, 24-bit and 32-bit)
  • +
  • New function called GRRLIB_DrawPart() to draw a specific part of a texture
  • +
  • Extra parameters to GRRLIB_Screen2Texture()
  • +
  • Video is now initialized even without a SD card
  • +
  • Fixed a problem with scaling images
  • +
  • Documentation improvement
  • +
+

4.1.0 - 2009-10-05

+
    +
  • Completely new file structure with sub-folders
  • +
  • Installer for vendor libraries (jpeg, png, pngu)
  • +
  • Makefile for GRRLIB
  • +
  • Many (all suitable) functions are now inlined
  • +
  • Support for the recent changes to libogc
  • +
  • Alpha compositor function added
  • +
  • Correct use of pointers (no more struct passing)
  • +
  • Speed improvement, bug fixing and more...
  • +
+

4.0.0 - 2009-03-05

+ +
+ + + + diff --git a/md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__l_i_c_e_n_c_e.html b/md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__l_i_c_e_n_c_e.html new file mode 100644 index 0000000..a543934 --- /dev/null +++ b/md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__l_i_c_e_n_c_e.html @@ -0,0 +1,78 @@ + + + + + + + +GRRLIB: LICENCE + + + + + + + + + +
+
+
+ + + + + +
+
GRRLIB +  4.4.0 +
+
+ + + + + + + + + +
+
+ + +
+ +
+ + +
+
+
LICENCE
+
+
+

Copyright (c) 2009-2020 The GRRLIB Team

+

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

+

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

+

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

+
+ + + + diff --git a/menu.js b/menu.js new file mode 100644 index 0000000..97db4c2 --- /dev/null +++ b/menu.js @@ -0,0 +1,26 @@ +function initMenu(relPath,searchEnabled,serverSide,searchPage,search) { + function makeTree(data,relPath) { + var result=''; + if ('children' in data) { + result+=''; + } + return result; + } + + $('#main-nav').append(makeTree(menudata,relPath)); + $('#main-nav').children(':first').addClass('sm sm-dox').attr('id','main-menu'); + if (searchEnabled) { + if (serverSide) { + $('#main-menu').append('
  • '); + } else { + $('#main-menu').append('
  • '); + } + } + $('#main-menu').smartmenus(); +} diff --git a/menudata.js b/menudata.js new file mode 100644 index 0000000..ad11bf6 --- /dev/null +++ b/menudata.js @@ -0,0 +1,55 @@ +var menudata={children:[ +{text:"Main Page",url:"index.html"}, +{text:"Related Pages",url:"pages.html"}, +{text:"Modules",url:"modules.html"}, +{text:"Data Structures",url:"annotated.html",children:[ +{text:"Data Structures",url:"annotated.html"}, +{text:"Data Fields",url:"functions.html",children:[ +{text:"All",url:"functions.html",children:[ +{text:"a",url:"functions.html#index_a"}, +{text:"b",url:"functions.html#index_b"}, +{text:"c",url:"functions.html#index_c"}, +{text:"d",url:"functions.html#index_d"}, +{text:"f",url:"functions.html#index_f"}, +{text:"h",url:"functions.html#index_h"}, +{text:"k",url:"functions.html#index_k"}, +{text:"l",url:"functions.html#index_l"}, +{text:"n",url:"functions.html#index_n"}, +{text:"o",url:"functions.html#index_o"}, +{text:"p",url:"functions.html#index_p"}, +{text:"r",url:"functions.html#index_r"}, +{text:"t",url:"functions.html#index_t"}, +{text:"v",url:"functions.html#index_v"}, +{text:"w",url:"functions.html#index_w"}]}, +{text:"Variables",url:"functions_vars.html",children:[ +{text:"a",url:"functions_vars.html#index_a"}, +{text:"b",url:"functions_vars.html#index_b"}, +{text:"c",url:"functions_vars.html#index_c"}, +{text:"d",url:"functions_vars.html#index_d"}, +{text:"f",url:"functions_vars.html#index_f"}, +{text:"h",url:"functions_vars.html#index_h"}, +{text:"k",url:"functions_vars.html#index_k"}, +{text:"l",url:"functions_vars.html#index_l"}, +{text:"n",url:"functions_vars.html#index_n"}, +{text:"o",url:"functions_vars.html#index_o"}, +{text:"p",url:"functions_vars.html#index_p"}, +{text:"r",url:"functions_vars.html#index_r"}, +{text:"t",url:"functions_vars.html#index_t"}, +{text:"v",url:"functions_vars.html#index_v"}, +{text:"w",url:"functions_vars.html#index_w"}]}]}]}, +{text:"Files",url:"files.html",children:[ +{text:"File List",url:"files.html"}, +{text:"Globals",url:"globals.html",children:[ +{text:"All",url:"globals.html",children:[ +{text:"a",url:"globals.html#index_a"}, +{text:"b",url:"globals.html#index_b"}, +{text:"g",url:"globals.html#index_g"}, +{text:"r",url:"globals.html#index_r"}]}, +{text:"Functions",url:"globals_func.html",children:[ +{text:"g",url:"globals_func.html#index_g"}]}, +{text:"Variables",url:"globals_vars.html"}, +{text:"Typedefs",url:"globals_type.html"}, +{text:"Enumerations",url:"globals_enum.html"}, +{text:"Enumerator",url:"globals_eval.html"}, +{text:"Macros",url:"globals_defs.html"}]}]}, +{text:"Examples",url:"examples.html"}]} diff --git a/modules.html b/modules.html new file mode 100644 index 0000000..0b46dfe --- /dev/null +++ b/modules.html @@ -0,0 +1,79 @@ + + + + + + + +GRRLIB: Modules + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Modules
    +
    +
    +
    Here is a list of all modules:
    + + +
     Everything in GRRLIBThis is the complete list of functions, structures, defines, typedefs, enumerations and variables you may want to used to make your homebrew with GRRLIB
    +
    +
    + + + + diff --git a/nav_f.png b/nav_f.png new file mode 100644 index 0000000000000000000000000000000000000000..72a58a529ed3a9ed6aa0c51a79cf207e026deee2 GIT binary patch literal 153 zcmeAS@N?(olHy`uVBq!ia0vp^j6iI`!2~2XGqLUlQVE_ejv*C{Z|{2ZH7M}7UYxc) zn!W8uqtnIQ>_z8U literal 0 HcmV?d00001 diff --git a/nav_g.png b/nav_g.png new file mode 100644 index 0000000000000000000000000000000000000000..2093a237a94f6c83e19ec6e5fd42f7ddabdafa81 GIT binary patch literal 95 zcmeAS@N?(olHy`uVBq!ia0vp^j6lrB!3HFm1ilyoDK$?Q$B+ufw|5PB85lU25BhtE tr?otc=hd~V+ws&_A@j8Fiv!KF$B+ufw|5=67#uj90@pIL wZ=Q8~_Ju`#59=RjDrmm`tMD@M=!-l18IR?&vFVdQ&MBb@0HFXL1|%O$WD@{VPM$7~Ar*{o?;hlAFyLXmaDC0y znK1_#cQqJWPES%4Uujug^TE?jMft$}Eq^WaR~)%f)vSNs&gek&x%A9X9sM + + + + + + +GRRLIB: Related Pages + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    Related Pages
    +
    +
    +
    Here is a list of all related documentation pages:
    + + + +
     LICENCE
     Changelog
    +
    +
    + + + + diff --git a/search/all_0.html b/search/all_0.html new file mode 100644 index 0000000..f25360b --- /dev/null +++ b/search/all_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_0.js b/search/all_0.js new file mode 100644 index 0000000..a3c3efb --- /dev/null +++ b/search/all_0.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['a',['A',['../group___all_func.html#ga96aca57a76bd8537a24bb11ab44ef8d9',1,'grrlib.h']]], + ['antialias',['antialias',['../struct_g_r_r_l_i_b__draw_settings.html#a0511a787f97e723bc74c4b5b89ddfdad',1,'GRRLIB_drawSettings']]] +]; diff --git a/search/all_1.html b/search/all_1.html new file mode 100644 index 0000000..b13f0f7 --- /dev/null +++ b/search/all_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_1.js b/search/all_1.js new file mode 100644 index 0000000..e40c7c7 --- /dev/null +++ b/search/all_1.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['b',['B',['../group___all_func.html#gadddcd4b5f23e5e290c31b64cd8c8efaa',1,'grrlib.h']]], + ['blend',['blend',['../struct_g_r_r_l_i_b__draw_settings.html#abe73f4ef80e558d21151b8097439a0fa',1,'GRRLIB_drawSettings']]] +]; diff --git a/search/all_10.html b/search/all_10.html new file mode 100644 index 0000000..d1345a1 --- /dev/null +++ b/search/all_10.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_10.js b/search/all_10.js new file mode 100644 index 0000000..6025992 --- /dev/null +++ b/search/all_10.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['w',['w',['../struct_g_r_r_l_i_b__tex_img.html#a40880d757ddcc5c7fc8f7a4f19e1b442',1,'GRRLIB_texImg']]], + ['width',['width',['../struct_g_r_r_l_i_b__bytemap_char.html#a2c1d87ba049f447519d1a92e6550f822',1,'GRRLIB_bytemapChar']]] +]; diff --git a/search/all_2.html b/search/all_2.html new file mode 100644 index 0000000..9543c57 --- /dev/null +++ b/search/all_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_2.js b/search/all_2.js new file mode 100644 index 0000000..f6c9949 --- /dev/null +++ b/search/all_2.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['chardef',['charDef',['../struct_g_r_r_l_i_b__bytemap_font.html#aef9491d85292230ae9c06883f519e540',1,'GRRLIB_bytemapFont']]], + ['changelog',['Changelog',['../md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__c_h_a_n_g_e_l_o_g.html',1,'']]] +]; diff --git a/search/all_3.html b/search/all_3.html new file mode 100644 index 0000000..03405c0 --- /dev/null +++ b/search/all_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_3.js b/search/all_3.js new file mode 100644 index 0000000..403164f --- /dev/null +++ b/search/all_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['data',['data',['../struct_g_r_r_l_i_b__tex_img.html#a735984d41155bc1032e09bece8f8d66d',1,'GRRLIB_texImg::data()'],['../struct_g_r_r_l_i_b__bytemap_char.html#a40767ad71451f60885c01f28dd2a4b47',1,'GRRLIB_bytemapChar::data()']]] +]; diff --git a/search/all_4.html b/search/all_4.html new file mode 100644 index 0000000..8e1f4b9 --- /dev/null +++ b/search/all_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_4.js b/search/all_4.js new file mode 100644 index 0000000..7303cf4 --- /dev/null +++ b/search/all_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['everything_20in_20grrlib',['Everything in GRRLIB',['../group___all_func.html',1,'']]] +]; diff --git a/search/all_5.html b/search/all_5.html new file mode 100644 index 0000000..89a879e --- /dev/null +++ b/search/all_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_5.js b/search/all_5.js new file mode 100644 index 0000000..430c454 --- /dev/null +++ b/search/all_5.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['face',['face',['../struct_g_r_r_l_i_b___font.html#a22e9f2a8a4fc5c0f350faffdfdc1ef54',1,'GRRLIB_Font']]] +]; diff --git a/search/all_6.html b/search/all_6.html new file mode 100644 index 0000000..6afac06 --- /dev/null +++ b/search/all_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_6.js b/search/all_6.js new file mode 100644 index 0000000..f1c2f26 --- /dev/null +++ b/search/all_6.js @@ -0,0 +1,115 @@ +var searchData= +[ + ['g',['G',['../group___all_func.html#ga7cc73638f4849985153257c89a69ee94',1,'grrlib.h']]], + ['grrlib_2eh',['grrlib.h',['../grrlib_8h.html',1,'']]], + ['grrlib_5f2dmode',['GRRLIB_2dMode',['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c'],['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c']]], + ['grrlib_5f3dmode',['GRRLIB_3dMode',['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c'],['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c']]], + ['grrlib_5f_5finline_2eh',['GRRLIB__inline.h',['../_g_r_r_l_i_b____inline_8h.html',1,'']]], + ['grrlib_5f_5flib_2eh',['GRRLIB__lib.h',['../_g_r_r_l_i_b____lib_8h.html',1,'']]], + ['grrlib_5fblend_5fadd',['GRRLIB_BLEND_ADD',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ad4f0554f7bfc19410c4fedaeab1a10fd',1,'grrlib.h']]], + ['grrlib_5fblend_5falpha',['GRRLIB_BLEND_ALPHA',['../group___all_func.html#gga84c65877bb197763cda6669c473be692aeded8fce060bcb04b096c17cea237c23',1,'grrlib.h']]], + ['grrlib_5fblend_5finv',['GRRLIB_BLEND_INV',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ab3aacba447b6cee253fc713e45ab49fd',1,'grrlib.h']]], + ['grrlib_5fblend_5flight',['GRRLIB_BLEND_LIGHT',['../group___all_func.html#ga4da19aad1f8a920283a84a3af7d7e34a',1,'grrlib.h']]], + ['grrlib_5fblend_5fmulti',['GRRLIB_BLEND_MULTI',['../group___all_func.html#gga84c65877bb197763cda6669c473be692a4a7b1a0e143ad522128a7c8f5f7dc7fb',1,'grrlib.h']]], + ['grrlib_5fblend_5fnone',['GRRLIB_BLEND_NONE',['../group___all_func.html#gaa1595302fa27df7d3e5913865659ca71',1,'grrlib.h']]], + ['grrlib_5fblend_5fscreen',['GRRLIB_BLEND_SCREEN',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ad026c10937b34f2e3e5dd462f528ef00',1,'grrlib.h']]], + ['grrlib_5fblend_5fshade',['GRRLIB_BLEND_SHADE',['../group___all_func.html#ga2308b6e9df5946957149bfa693c6a93e',1,'grrlib.h']]], + ['grrlib_5fblendmode',['GRRLIB_blendMode',['../group___all_func.html#ga84c65877bb197763cda6669c473be692',1,'GRRLIB_blendMode(): grrlib.h'],['../group___all_func.html#gabe3492d05b0bc11aed3dab873129fba0',1,'GRRLIB_blendMode(): grrlib.h']]], + ['grrlib_5fbmfx_5fblur',['GRRLIB_BMFX_Blur',['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5ffliph',['GRRLIB_BMFX_FlipH',['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fflipv',['GRRLIB_BMFX_FlipV',['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fgrayscale',['GRRLIB_BMFX_Grayscale',['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5finvert',['GRRLIB_BMFX_Invert',['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fpixelate',['GRRLIB_BMFX_Pixelate',['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fscatter',['GRRLIB_BMFX_Scatter',['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fsepia',['GRRLIB_BMFX_Sepia',['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbytemapchar',['GRRLIB_bytemapChar',['../struct_g_r_r_l_i_b__bytemap_char.html',1,'GRRLIB_bytemapChar'],['../group___all_func.html#ga9ce042be1acf8ec62c9a0b43d89becfa',1,'GRRLIB_bytemapChar(): grrlib.h']]], + ['grrlib_5fbytemapfont',['GRRLIB_bytemapFont',['../struct_g_r_r_l_i_b__bytemap_font.html',1,'GRRLIB_bytemapFont'],['../group___all_func.html#gaf9bf452aa990a8e9987aa689aacbe782',1,'GRRLIB_bytemapFont(): grrlib.h']]], + ['grrlib_5fcamera3dsettings',['GRRLIB_Camera3dSettings',['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c'],['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c']]], + ['grrlib_5fcircle',['GRRLIB_Circle',['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], + ['grrlib_5fcleartex',['GRRLIB_ClearTex',['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5fclipdrawing',['GRRLIB_ClipDrawing',['../group___all_func.html#gacf077d7ee678f8bd942db4cbf6027d98',1,'GRRLIB_ClipDrawing(const int x, const int y, const int width, const int height): GRRLIB_clipping.h'],['../group___all_func.html#gacf077d7ee678f8bd942db4cbf6027d98',1,'GRRLIB_ClipDrawing(const int x, const int y, const int width, const int height): GRRLIB_clipping.h']]], + ['grrlib_5fclipreset',['GRRLIB_ClipReset',['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h'],['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h']]], + ['grrlib_5fcompoend',['GRRLIB_CompoEnd',['../group___all_func.html#gaab852acf9b7679bd1142003b4d6635f3',1,'GRRLIB_CompoEnd(int posx, int posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c'],['../group___all_func.html#gaab852acf9b7679bd1142003b4d6635f3',1,'GRRLIB_CompoEnd(int posx, int posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c']]], + ['grrlib_5fcompostart',['GRRLIB_CompoStart',['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c'],['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c']]], + ['grrlib_5fcreateemptytexture',['GRRLIB_CreateEmptyTexture',['../group___all_func.html#ga53c20a0c6e33df2ceaf2968f8dd1b921',1,'GRRLIB_CreateEmptyTexture(const u32 w, const u32 h): GRRLIB_texEdit.c'],['../group___all_func.html#ga53c20a0c6e33df2ceaf2968f8dd1b921',1,'GRRLIB_CreateEmptyTexture(const u32 w, const u32 h): GRRLIB_texEdit.c']]], + ['grrlib_5fdrawcone',['GRRLIB_DrawCone',['../group___all_func.html#gabc9c582a2d39b97f5450fea8c61f7f80',1,'GRRLIB_DrawCone(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gabc9c582a2d39b97f5450fea8c61f7f80',1,'GRRLIB_DrawCone(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcube',['GRRLIB_DrawCube',['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcylinder',['GRRLIB_DrawCylinder',['../group___all_func.html#ga6250c32662da700f248f305b737f3ceb',1,'GRRLIB_DrawCylinder(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6250c32662da700f248f305b737f3ceb',1,'GRRLIB_DrawCylinder(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawimg',['GRRLIB_DrawImg',['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawimgquad',['GRRLIB_DrawImgQuad',['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c'],['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawpart',['GRRLIB_DrawPart',['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawsettings',['GRRLIB_drawSettings',['../struct_g_r_r_l_i_b__draw_settings.html',1,'GRRLIB_drawSettings'],['../group___all_func.html#ga5e6c1fe5b472dc0c8683e28a36f154c6',1,'GRRLIB_drawSettings(): grrlib.h']]], + ['grrlib_5fdrawsphere',['GRRLIB_DrawSphere',['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtesspanel',['GRRLIB_DrawTessPanel',['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtile',['GRRLIB_DrawTile',['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtilequad',['GRRLIB_DrawTileQuad',['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtorus',['GRRLIB_DrawTorus',['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fexit',['GRRLIB_Exit',['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c'],['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c']]], + ['grrlib_5ffillscreen',['GRRLIB_FillScreen',['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fflushtex',['GRRLIB_FlushTex',['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5ffont',['GRRLIB_Font',['../struct_g_r_r_l_i_b___font.html',1,'']]], + ['grrlib_5ffreebmf',['GRRLIB_FreeBMF',['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c'],['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c']]], + ['grrlib_5ffreetexture',['GRRLIB_FreeTexture',['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5ffreettf',['GRRLIB_FreeTTF',['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c'],['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c']]], + ['grrlib_5fgeckoinit',['GRRLIB_GeckoInit',['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c'],['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c']]], + ['grrlib_5fgeckoprintf',['GRRLIB_GeckoPrintf',['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c'],['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c']]], + ['grrlib_5fgetantialiasing',['GRRLIB_GetAntiAliasing',['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h'],['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h']]], + ['grrlib_5fgetblend',['GRRLIB_GetBlend',['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h'],['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h']]], + ['grrlib_5fgetpixelfromfb',['GRRLIB_GetPixelFromFB',['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h'],['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h']]], + ['grrlib_5fgetpixelfromteximg',['GRRLIB_GetPixelFromtexImg',['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h'],['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h']]], + ['grrlib_5fgxengine',['GRRLIB_GXEngine',['../group___all_func.html#gab30f2c50710d1d659efb03daaa4866c8',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const long n, const u8 fmt): GRRLIB_fbGX.h'],['../group___all_func.html#gab30f2c50710d1d659efb03daaa4866c8',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const long n, const u8 fmt): GRRLIB_fbGX.h']]], + ['grrlib_5finit',['GRRLIB_Init',['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c'],['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c']]], + ['grrlib_5finittileset',['GRRLIB_InitTileSet',['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c'],['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c']]], + ['grrlib_5fline',['GRRLIB_Line',['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5floadbmf',['GRRLIB_LoadBMF',['../group___all_func.html#ga8e67a70e71cfe202318f567fe62ee3f7',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c'],['../group___all_func.html#ga8e67a70e71cfe202318f567fe62ee3f7',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c']]], + ['grrlib_5floadfile',['GRRLIB_LoadFile',['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c'],['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexture',['GRRLIB_LoadTexture',['../group___all_func.html#ga49b31e270b46142828b96b7b63c47c88',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c'],['../group___all_func.html#ga49b31e270b46142828b96b7b63c47c88',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturebmp',['GRRLIB_LoadTextureBMP',['../group___all_func.html#ga715d38ab3a56377f4d1ae855f7a7a94e',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c'],['../group___all_func.html#ga715d38ab3a56377f4d1ae855f7a7a94e',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturefromfile',['GRRLIB_LoadTextureFromFile',['../group___all_func.html#ga1c43c28ecb0e4d7f592577bca92e7ffc',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga1c43c28ecb0e4d7f592577bca92e7ffc',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexturejpg',['GRRLIB_LoadTextureJPG',['../group___all_func.html#ga885310955bccea418939fb791e0640f8',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c'],['../group___all_func.html#ga885310955bccea418939fb791e0640f8',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturejpgex',['GRRLIB_LoadTextureJPGEx',['../group___all_func.html#ga5acd24c18e51e157822df26dea920630',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const int my_size): GRRLIB_texEdit.c'],['../group___all_func.html#ga5acd24c18e51e157822df26dea920630',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const int): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturepng',['GRRLIB_LoadTexturePNG',['../group___all_func.html#gaab9f55cfb94c2cbfcd65fb7970357391',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c'],['../group___all_func.html#gaab9f55cfb94c2cbfcd65fb7970357391',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c']]], + ['grrlib_5floadttf',['GRRLIB_LoadTTF',['../group___all_func.html#gab2b209553f321a9e30078aa6f5942ea7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c'],['../group___all_func.html#gab2b209553f321a9e30078aa6f5942ea7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c']]], + ['grrlib_5fngone',['GRRLIB_NGone',['../group___all_func.html#gac7ba7ec716a2a7100cdc6f4fb8c85062',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h'],['../group___all_func.html#gac7ba7ec716a2a7100cdc6f4fb8c85062',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h']]], + ['grrlib_5fngonefilled',['GRRLIB_NGoneFilled',['../group___all_func.html#ga39d86882203f923af1403ec9bbbd01c4',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h'],['../group___all_func.html#ga39d86882203f923af1403ec9bbbd01c4',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h']]], + ['grrlib_5fnplot',['GRRLIB_NPlot',['../group___all_func.html#ga4e6b4d7e4a15eb39d507d923b439d0e5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h'],['../group___all_func.html#ga4e6b4d7e4a15eb39d507d923b439d0e5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h']]], + ['grrlib_5fobjectview',['GRRLIB_ObjectView',['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewbegin',['GRRLIB_ObjectViewBegin',['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c'],['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewend',['GRRLIB_ObjectViewEnd',['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c'],['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewinv',['GRRLIB_ObjectViewInv',['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewrotate',['GRRLIB_ObjectViewRotate',['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c'],['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewscale',['GRRLIB_ObjectViewScale',['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewtrans',['GRRLIB_ObjectViewTrans',['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c'],['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c']]], + ['grrlib_5fplot',['GRRLIB_Plot',['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fprintbmf',['GRRLIB_PrintBMF',['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintf',['GRRLIB_Printf',['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintfttf',['GRRLIB_PrintfTTF',['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fprintfttfw',['GRRLIB_PrintfTTFW',['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fptinrect',['GRRLIB_PtInRect',['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h'],['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h']]], + ['grrlib_5frectangle',['GRRLIB_Rectangle',['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h'],['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h']]], + ['grrlib_5frectinrect',['GRRLIB_RectInRect',['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frectonrect',['GRRLIB_RectOnRect',['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frender',['GRRLIB_Render',['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c'],['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c']]], + ['grrlib_5fscreen2texture',['GRRLIB_Screen2Texture',['../group___all_func.html#ga7ac4e30576d4fccd0ae537a41b75f4c1',1,'GRRLIB_Screen2Texture(int posx, int posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c'],['../group___all_func.html#ga7ac4e30576d4fccd0ae537a41b75f4c1',1,'GRRLIB_Screen2Texture(int posx, int posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c']]], + ['grrlib_5fscrshot',['GRRLIB_ScrShot',['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5fsetantialiasing',['GRRLIB_SetAntiAliasing',['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h'],['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h']]], + ['grrlib_5fsetbackgroundcolour',['GRRLIB_SetBackgroundColour',['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c'],['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c']]], + ['grrlib_5fsetblend',['GRRLIB_SetBlend',['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h'],['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h']]], + ['grrlib_5fsethandle',['GRRLIB_SetHandle',['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h'],['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h']]], + ['grrlib_5fsetlightambient',['GRRLIB_SetLightAmbient',['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c'],['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightdiff',['GRRLIB_SetLightDiff',['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightoff',['GRRLIB_SetLightOff',['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c'],['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspec',['GRRLIB_SetLightSpec',['../group___all_func.html#ga2cd64208138d748c5d5d8266237578f0',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shy, u32 lightcolor, u32 speccolor): GRRLIB_3D.c'],['../group___all_func.html#ga2cd64208138d748c5d5d8266237578f0',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shy, u32 lightcolor, u32 speccolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspot',['GRRLIB_SetLightSpot',['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetmidhandle',['GRRLIB_SetMidHandle',['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h'],['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h']]], + ['grrlib_5fsetpixeltofb',['GRRLIB_SetPixelToFB',['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h'],['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h']]], + ['grrlib_5fsetpixeltoteximg',['GRRLIB_SetPixelTotexImg',['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h'],['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h']]], + ['grrlib_5fsettexture',['GRRLIB_SetTexture',['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c'],['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c']]], + ['grrlib_5fteximg',['GRRLIB_texImg',['../struct_g_r_r_l_i_b__tex_img.html',1,'GRRLIB_texImg'],['../group___all_func.html#gaaa6ad5d8d27cb06f2c9caa8d274c936b',1,'GRRLIB_texImg(): grrlib.h']]], + ['grrlib_5fttffont',['GRRLIB_ttfFont',['../group___all_func.html#ga499180deb21d989a9a41df654e2f037f',1,'grrlib.h']]], + ['grrlib_5fver_5fstring',['GRRLIB_VER_STRING',['../group___all_func.html#gad36e97f844e145cd811f40ee306eb11f',1,'grrlib.h']]], + ['grrlib_5fwidthttf',['GRRLIB_WidthTTF',['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *, unsigned int): GRRLIB_ttf.c']]], + ['grrlib_5fwidthttfw',['GRRLIB_WidthTTFW',['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int): GRRLIB_ttf.c']]], + ['grrlib_20documentation',['GRRLIB Documentation',['../index.html',1,'']]] +]; diff --git a/search/all_7.html b/search/all_7.html new file mode 100644 index 0000000..de19107 --- /dev/null +++ b/search/all_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_7.js b/search/all_7.js new file mode 100644 index 0000000..a72f292 --- /dev/null +++ b/search/all_7.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['h',['h',['../struct_g_r_r_l_i_b__tex_img.html#a3b713de5e8af3c7ae800a2c9856780a2',1,'GRRLIB_texImg']]], + ['handlex',['handlex',['../struct_g_r_r_l_i_b__tex_img.html#aeabe01fe64ab978062a145d723201aaf',1,'GRRLIB_texImg']]], + ['handley',['handley',['../struct_g_r_r_l_i_b__tex_img.html#ac46115747734d99869a5ae8a6e26f590',1,'GRRLIB_texImg']]], + ['height',['height',['../struct_g_r_r_l_i_b__bytemap_char.html#ac3f221619d1bd1d6f1d46727f0c913a2',1,'GRRLIB_bytemapChar']]] +]; diff --git a/search/all_8.html b/search/all_8.html new file mode 100644 index 0000000..11e27cd --- /dev/null +++ b/search/all_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_8.js b/search/all_8.js new file mode 100644 index 0000000..72ab0a6 --- /dev/null +++ b/search/all_8.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['kerning',['kerning',['../struct_g_r_r_l_i_b__bytemap_char.html#a8f3b7e1679518b07394e7c5acb2b7d9a',1,'GRRLIB_bytemapChar::kerning()'],['../struct_g_r_r_l_i_b___font.html#aef697ace6f9a1136e6117b6ead3d9c4c',1,'GRRLIB_Font::kerning()']]] +]; diff --git a/search/all_9.html b/search/all_9.html new file mode 100644 index 0000000..f8abbbe --- /dev/null +++ b/search/all_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_9.js b/search/all_9.js new file mode 100644 index 0000000..3b59aad --- /dev/null +++ b/search/all_9.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['lights',['lights',['../struct_g_r_r_l_i_b__draw_settings.html#a48b630899944c5bb1103172391c738a8',1,'GRRLIB_drawSettings']]], + ['licence',['LICENCE',['../md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__l_i_c_e_n_c_e.html',1,'']]] +]; diff --git a/search/all_a.html b/search/all_a.html new file mode 100644 index 0000000..9601fce --- /dev/null +++ b/search/all_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_a.js b/search/all_a.js new file mode 100644 index 0000000..3d04877 --- /dev/null +++ b/search/all_a.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['name',['name',['../struct_g_r_r_l_i_b__bytemap_font.html#a5ac083a645d964373f022d03df4849c8',1,'GRRLIB_bytemapFont']]], + ['nbchar',['nbChar',['../struct_g_r_r_l_i_b__bytemap_font.html#ae859dcb34b5b3dafa769120b2302130f',1,'GRRLIB_bytemapFont']]], + ['nbtileh',['nbtileh',['../struct_g_r_r_l_i_b__tex_img.html#a1da5528a8f8d7727d166c727e07b30ba',1,'GRRLIB_texImg']]], + ['nbtilew',['nbtilew',['../struct_g_r_r_l_i_b__tex_img.html#acb5644c4dac42ee6f9a5081ec0fd3a4f',1,'GRRLIB_texImg']]] +]; diff --git a/search/all_b.html b/search/all_b.html new file mode 100644 index 0000000..0814e4e --- /dev/null +++ b/search/all_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_b.js b/search/all_b.js new file mode 100644 index 0000000..50bc7cd --- /dev/null +++ b/search/all_b.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['offsetx',['offsetx',['../struct_g_r_r_l_i_b__tex_img.html#a1f1b2cd64720fe490801ccf4c5af3318',1,'GRRLIB_texImg']]], + ['offsety',['offsety',['../struct_g_r_r_l_i_b__tex_img.html#a1e4f9e08319378a51518c10a7f9315c4',1,'GRRLIB_texImg']]], + ['ofnormaltexx',['ofnormaltexx',['../struct_g_r_r_l_i_b__tex_img.html#a89846626665e4077edd8fb83ecaf4b8c',1,'GRRLIB_texImg']]], + ['ofnormaltexy',['ofnormaltexy',['../struct_g_r_r_l_i_b__tex_img.html#a750ee88d4bdc2c0fabf27124951044b6',1,'GRRLIB_texImg']]] +]; diff --git a/search/all_c.html b/search/all_c.html new file mode 100644 index 0000000..da08c38 --- /dev/null +++ b/search/all_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_c.js b/search/all_c.js new file mode 100644 index 0000000..920819b --- /dev/null +++ b/search/all_c.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['palette',['palette',['../struct_g_r_r_l_i_b__bytemap_font.html#a2c7c01c6eca69b2fc9d0267ca8228853',1,'GRRLIB_bytemapFont']]] +]; diff --git a/search/all_d.html b/search/all_d.html new file mode 100644 index 0000000..9986c9c --- /dev/null +++ b/search/all_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_d.js b/search/all_d.js new file mode 100644 index 0000000..a91fc68 --- /dev/null +++ b/search/all_d.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['r',['R',['../group___all_func.html#ga2cde25567f177a6cd9191d536764235e',1,'grrlib.h']]], + ['relx',['relx',['../struct_g_r_r_l_i_b__bytemap_char.html#a86979216677e53eab88a6f972804ea18',1,'GRRLIB_bytemapChar']]], + ['rely',['rely',['../struct_g_r_r_l_i_b__bytemap_char.html#a3859c6fa880002245f1343b424555245',1,'GRRLIB_bytemapChar']]], + ['rgba',['RGBA',['../group___all_func.html#gaba32782053c6a2b01e3706d632d77895',1,'grrlib.h']]], + ['rmode',['rmode',['../group___all_func.html#ga10c3414080fff8aeaccb0b1584d51edc',1,'grrlib.h']]] +]; diff --git a/search/all_e.html b/search/all_e.html new file mode 100644 index 0000000..9fa42bb --- /dev/null +++ b/search/all_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_e.js b/search/all_e.js new file mode 100644 index 0000000..1c8e94d --- /dev/null +++ b/search/all_e.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['tiledtex',['tiledtex',['../struct_g_r_r_l_i_b__tex_img.html#afc6d24924b4d32b4eea655863163f49a',1,'GRRLIB_texImg']]], + ['tileh',['tileh',['../struct_g_r_r_l_i_b__tex_img.html#a5400cc929e97692c920eb3698874c5dc',1,'GRRLIB_texImg']]], + ['tilestart',['tilestart',['../struct_g_r_r_l_i_b__tex_img.html#acc457a106f497ddec55267ee844f2e9e',1,'GRRLIB_texImg']]], + ['tilew',['tilew',['../struct_g_r_r_l_i_b__tex_img.html#ac2701a0d10bf9cc67d3f9a5008602690',1,'GRRLIB_texImg']]], + ['tracking',['tracking',['../struct_g_r_r_l_i_b__bytemap_font.html#ac793001b64a49cc9cf9b55a4d03e73d7',1,'GRRLIB_bytemapFont']]] +]; diff --git a/search/all_f.html b/search/all_f.html new file mode 100644 index 0000000..6ecfc0e --- /dev/null +++ b/search/all_f.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/all_f.js b/search/all_f.js new file mode 100644 index 0000000..84f7cf2 --- /dev/null +++ b/search/all_f.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version',['version',['../struct_g_r_r_l_i_b__bytemap_font.html#ab0e86ae6d36a2d67e39cafafed1fdf7f',1,'GRRLIB_bytemapFont']]] +]; diff --git a/search/classes_0.html b/search/classes_0.html new file mode 100644 index 0000000..1c3e406 --- /dev/null +++ b/search/classes_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/classes_0.js b/search/classes_0.js new file mode 100644 index 0000000..93a2107 --- /dev/null +++ b/search/classes_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['grrlib_5fbytemapchar',['GRRLIB_bytemapChar',['../struct_g_r_r_l_i_b__bytemap_char.html',1,'']]], + ['grrlib_5fbytemapfont',['GRRLIB_bytemapFont',['../struct_g_r_r_l_i_b__bytemap_font.html',1,'']]], + ['grrlib_5fdrawsettings',['GRRLIB_drawSettings',['../struct_g_r_r_l_i_b__draw_settings.html',1,'']]], + ['grrlib_5ffont',['GRRLIB_Font',['../struct_g_r_r_l_i_b___font.html',1,'']]], + ['grrlib_5fteximg',['GRRLIB_texImg',['../struct_g_r_r_l_i_b__tex_img.html',1,'']]] +]; diff --git a/search/close.png b/search/close.png new file mode 100644 index 0000000000000000000000000000000000000000..9342d3dfeea7b7c4ee610987e717804b5a42ceb9 GIT binary patch literal 273 zcmV+s0q*{ZP)4(RlMby96)VwnbG{ zbe&}^BDn7x>$<{ck4zAK-=nT;=hHG)kmplIF${xqm8db3oX6wT3bvp`TE@m0cg;b) zBuSL}5?N7O(iZLdAlz@)b)Rd~DnSsSX&P5qC`XwuFwcAYLC+d2>+1(8on;wpt8QIC X2MT$R4iQDd00000NkvXXu0mjfia~GN literal 0 HcmV?d00001 diff --git a/search/enums_0.html b/search/enums_0.html new file mode 100644 index 0000000..ee343ac --- /dev/null +++ b/search/enums_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enums_0.js b/search/enums_0.js new file mode 100644 index 0000000..4b7867d --- /dev/null +++ b/search/enums_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['grrlib_5fblendmode',['GRRLIB_blendMode',['../group___all_func.html#ga84c65877bb197763cda6669c473be692',1,'grrlib.h']]] +]; diff --git a/search/enumvalues_0.html b/search/enumvalues_0.html new file mode 100644 index 0000000..9387b6a --- /dev/null +++ b/search/enumvalues_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/enumvalues_0.js b/search/enumvalues_0.js new file mode 100644 index 0000000..3bd8272 --- /dev/null +++ b/search/enumvalues_0.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['grrlib_5fblend_5fadd',['GRRLIB_BLEND_ADD',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ad4f0554f7bfc19410c4fedaeab1a10fd',1,'grrlib.h']]], + ['grrlib_5fblend_5falpha',['GRRLIB_BLEND_ALPHA',['../group___all_func.html#gga84c65877bb197763cda6669c473be692aeded8fce060bcb04b096c17cea237c23',1,'grrlib.h']]], + ['grrlib_5fblend_5finv',['GRRLIB_BLEND_INV',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ab3aacba447b6cee253fc713e45ab49fd',1,'grrlib.h']]], + ['grrlib_5fblend_5fmulti',['GRRLIB_BLEND_MULTI',['../group___all_func.html#gga84c65877bb197763cda6669c473be692a4a7b1a0e143ad522128a7c8f5f7dc7fb',1,'grrlib.h']]], + ['grrlib_5fblend_5fscreen',['GRRLIB_BLEND_SCREEN',['../group___all_func.html#gga84c65877bb197763cda6669c473be692ad026c10937b34f2e3e5dd462f528ef00',1,'grrlib.h']]] +]; diff --git a/search/files_0.html b/search/files_0.html new file mode 100644 index 0000000..4f272b8 --- /dev/null +++ b/search/files_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/files_0.js b/search/files_0.js new file mode 100644 index 0000000..6919b8b --- /dev/null +++ b/search/files_0.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['grrlib_2eh',['grrlib.h',['../grrlib_8h.html',1,'']]], + ['grrlib_5f_5finline_2eh',['GRRLIB__inline.h',['../_g_r_r_l_i_b____inline_8h.html',1,'']]], + ['grrlib_5f_5flib_2eh',['GRRLIB__lib.h',['../_g_r_r_l_i_b____lib_8h.html',1,'']]] +]; diff --git a/search/functions_0.html b/search/functions_0.html new file mode 100644 index 0000000..4e6d87d --- /dev/null +++ b/search/functions_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/functions_0.js b/search/functions_0.js new file mode 100644 index 0000000..9d3040b --- /dev/null +++ b/search/functions_0.js @@ -0,0 +1,94 @@ +var searchData= +[ + ['grrlib_5f2dmode',['GRRLIB_2dMode',['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c'],['../group___all_func.html#ga6f5ec40dcb054da51f213606cf0b9e0d',1,'GRRLIB_2dMode(): GRRLIB_3D.c']]], + ['grrlib_5f3dmode',['GRRLIB_3dMode',['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c'],['../group___all_func.html#gac82c972dedc617360eb425ad1604c517',1,'GRRLIB_3dMode(f32 minDist, f32 maxDist, f32 fov, bool texturemode, bool normalmode): GRRLIB_3D.c']]], + ['grrlib_5fbmfx_5fblur',['GRRLIB_BMFX_Blur',['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga0094a9b1d6a2eca97e821de3448d320d',1,'GRRLIB_BMFX_Blur(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5ffliph',['GRRLIB_BMFX_FlipH',['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga7f0c146d1ca8d8697097034d58400881',1,'GRRLIB_BMFX_FlipH(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fflipv',['GRRLIB_BMFX_FlipV',['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga4970b35be663bb10c9045d85dcf3cede',1,'GRRLIB_BMFX_FlipV(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fgrayscale',['GRRLIB_BMFX_Grayscale',['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga9c529da9664148234c1690b87f1b0cf9',1,'GRRLIB_BMFX_Grayscale(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5finvert',['GRRLIB_BMFX_Invert',['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga81202b219fae613429c7e6ee4c5c9267',1,'GRRLIB_BMFX_Invert(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fpixelate',['GRRLIB_BMFX_Pixelate',['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#ga47d87d72cbf8883e99650cf3027ca2c1',1,'GRRLIB_BMFX_Pixelate(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fscatter',['GRRLIB_BMFX_Scatter',['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c'],['../group___all_func.html#gabe98ae9417c3177ef3f6bf000d0f0466',1,'GRRLIB_BMFX_Scatter(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest, const u32 factor): GRRLIB_bmfx.c']]], + ['grrlib_5fbmfx_5fsepia',['GRRLIB_BMFX_Sepia',['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c'],['../group___all_func.html#ga5c5986c87237874d005ad419bafa6bf1',1,'GRRLIB_BMFX_Sepia(const GRRLIB_texImg *texsrc, GRRLIB_texImg *texdest): GRRLIB_bmfx.c']]], + ['grrlib_5fcamera3dsettings',['GRRLIB_Camera3dSettings',['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c'],['../group___all_func.html#ga7300940a38526ab5aa9be0f4abe4a32a',1,'GRRLIB_Camera3dSettings(f32 posx, f32 posy, f32 posz, f32 upx, f32 upy, f32 upz, f32 lookx, f32 looky, f32 lookz): GRRLIB_3D.c']]], + ['grrlib_5fcircle',['GRRLIB_Circle',['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c'],['../group___all_func.html#ga23a8ac948a2f606256f981ec7665f7a3',1,'GRRLIB_Circle(const f32 x, const f32 y, const f32 radius, const u32 color, const u8 filled): GRRLIB_fbAdvanced.c']]], + ['grrlib_5fcleartex',['GRRLIB_ClearTex',['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#gadf667fd892b2f24dfcfe1542e086630e',1,'GRRLIB_ClearTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5fclipdrawing',['GRRLIB_ClipDrawing',['../group___all_func.html#gacf077d7ee678f8bd942db4cbf6027d98',1,'GRRLIB_ClipDrawing(const int x, const int y, const int width, const int height): GRRLIB_clipping.h'],['../group___all_func.html#gacf077d7ee678f8bd942db4cbf6027d98',1,'GRRLIB_ClipDrawing(const int x, const int y, const int width, const int height): GRRLIB_clipping.h']]], + ['grrlib_5fclipreset',['GRRLIB_ClipReset',['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h'],['../group___all_func.html#gae4bc6ca96070c33d540ad720c5c91fc4',1,'GRRLIB_ClipReset(void): GRRLIB_clipping.h']]], + ['grrlib_5fcompoend',['GRRLIB_CompoEnd',['../group___all_func.html#gaab852acf9b7679bd1142003b4d6635f3',1,'GRRLIB_CompoEnd(int posx, int posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c'],['../group___all_func.html#gaab852acf9b7679bd1142003b4d6635f3',1,'GRRLIB_CompoEnd(int posx, int posy, GRRLIB_texImg *tex): GRRLIB_snapshot.c']]], + ['grrlib_5fcompostart',['GRRLIB_CompoStart',['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c'],['../group___all_func.html#gab46283be3128415bf0ab2969bf7fda95',1,'GRRLIB_CompoStart(void): GRRLIB_snapshot.c']]], + ['grrlib_5fcreateemptytexture',['GRRLIB_CreateEmptyTexture',['../group___all_func.html#ga53c20a0c6e33df2ceaf2968f8dd1b921',1,'GRRLIB_CreateEmptyTexture(const u32 w, const u32 h): GRRLIB_texEdit.c'],['../group___all_func.html#ga53c20a0c6e33df2ceaf2968f8dd1b921',1,'GRRLIB_CreateEmptyTexture(const u32 w, const u32 h): GRRLIB_texEdit.c']]], + ['grrlib_5fdrawcone',['GRRLIB_DrawCone',['../group___all_func.html#gabc9c582a2d39b97f5450fea8c61f7f80',1,'GRRLIB_DrawCone(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gabc9c582a2d39b97f5450fea8c61f7f80',1,'GRRLIB_DrawCone(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcube',['GRRLIB_DrawCube',['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gad029080b2bb31c61feb5af6b60e59ec2',1,'GRRLIB_DrawCube(f32 size, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawcylinder',['GRRLIB_DrawCylinder',['../group___all_func.html#ga6250c32662da700f248f305b737f3ceb',1,'GRRLIB_DrawCylinder(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6250c32662da700f248f305b737f3ceb',1,'GRRLIB_DrawCylinder(f32 r, f32 h, int d, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawimg',['GRRLIB_DrawImg',['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gac93fa62dac7639bd2fe626aae5fef150',1,'GRRLIB_DrawImg(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawimgquad',['GRRLIB_DrawImgQuad',['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c'],['../group___all_func.html#ga852b2b23d242d8cdd0a1cbcbe89d7317',1,'GRRLIB_DrawImgQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawpart',['GRRLIB_DrawPart',['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c'],['../group___all_func.html#gabafe0b9297e020c440851543c028575e',1,'GRRLIB_DrawPart(const f32 xpos, const f32 ypos, const f32 partx, const f32 party, const f32 partw, const f32 parth, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color): GRRLIB_render.c']]], + ['grrlib_5fdrawsphere',['GRRLIB_DrawSphere',['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#gaea4b4858892b197b94c0a2b331eb9c91',1,'GRRLIB_DrawSphere(f32 r, int lats, int longs, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtesspanel',['GRRLIB_DrawTessPanel',['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga654851a42dbdefae806f1793cf6a69d0',1,'GRRLIB_DrawTessPanel(f32 w, f32 wstep, f32 h, f32 hstep, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fdrawtile',['GRRLIB_DrawTile',['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#ga8225b76416869d90c10ff90e9f2215d2',1,'GRRLIB_DrawTile(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const f32 degrees, const f32 scaleX, const f32 scaleY, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtilequad',['GRRLIB_DrawTileQuad',['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c'],['../group___all_func.html#gaeb7bef5310d7a764278d3f91810de701',1,'GRRLIB_DrawTileQuad(const guVector pos[4], GRRLIB_texImg *tex, const u32 color, const int frame): GRRLIB_render.c']]], + ['grrlib_5fdrawtorus',['GRRLIB_DrawTorus',['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c'],['../group___all_func.html#ga6410ce395aeab56d3166a45724cb6a32',1,'GRRLIB_DrawTorus(f32 r, f32 R, int nsides, int rings, bool filled, u32 col): GRRLIB_3D.c']]], + ['grrlib_5fexit',['GRRLIB_Exit',['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c'],['../group___all_func.html#ga15b1f7d9224e25e77d2806847344f651',1,'GRRLIB_Exit(void): GRRLIB_core.c']]], + ['grrlib_5ffillscreen',['GRRLIB_FillScreen',['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#gaa4334df3b160f01ae4cf49c616fe0949',1,'GRRLIB_FillScreen(const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fflushtex',['GRRLIB_FlushTex',['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga5e6a52737806ffb075cc8be7724f3fdd',1,'GRRLIB_FlushTex(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5ffreebmf',['GRRLIB_FreeBMF',['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c'],['../group___all_func.html#ga092169c6cbff1f1713f66fffff3dd8a2',1,'GRRLIB_FreeBMF(GRRLIB_bytemapFont *bmf): GRRLIB_bmf.c']]], + ['grrlib_5ffreetexture',['GRRLIB_FreeTexture',['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h'],['../group___all_func.html#ga57309da8aaeefe4092eda55cf38a9c7f',1,'GRRLIB_FreeTexture(GRRLIB_texImg *tex): GRRLIB_texSetup.h']]], + ['grrlib_5ffreettf',['GRRLIB_FreeTTF',['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c'],['../group___all_func.html#ga977ef3ec2aaa49cae6c7492066e35640',1,'GRRLIB_FreeTTF(GRRLIB_ttfFont *myFont): GRRLIB_ttf.c']]], + ['grrlib_5fgeckoinit',['GRRLIB_GeckoInit',['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c'],['../group___all_func.html#gafe58415d449f5d01b3019bda9be6abe4',1,'GRRLIB_GeckoInit(): GRRLIB_gecko.c']]], + ['grrlib_5fgeckoprintf',['GRRLIB_GeckoPrintf',['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c'],['../group___all_func.html#gaa82c6313b26687aaea494b91d77dc140',1,'GRRLIB_GeckoPrintf(const char *text,...): GRRLIB_gecko.c']]], + ['grrlib_5fgetantialiasing',['GRRLIB_GetAntiAliasing',['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h'],['../group___all_func.html#gac63e5050865fd77b0e72d950ffd033e0',1,'GRRLIB_GetAntiAliasing(void): GRRLIB_settings.h']]], + ['grrlib_5fgetblend',['GRRLIB_GetBlend',['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h'],['../group___all_func.html#ga2a1ef7de190db2f090526ef0cc5dee30',1,'GRRLIB_GetBlend(void): GRRLIB_settings.h']]], + ['grrlib_5fgetpixelfromfb',['GRRLIB_GetPixelFromFB',['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h'],['../group___all_func.html#ga454dafae2dfd9829789aa73810163858',1,'GRRLIB_GetPixelFromFB(int x, int y): GRRLIB_pixel.h']]], + ['grrlib_5fgetpixelfromteximg',['GRRLIB_GetPixelFromtexImg',['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h'],['../group___all_func.html#gaf0efaaeacbc18ff40d02dfe8104def56',1,'GRRLIB_GetPixelFromtexImg(const int x, const int y, const GRRLIB_texImg *tex): GRRLIB_pixel.h']]], + ['grrlib_5fgxengine',['GRRLIB_GXEngine',['../group___all_func.html#gab30f2c50710d1d659efb03daaa4866c8',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const long n, const u8 fmt): GRRLIB_fbGX.h'],['../group___all_func.html#gab30f2c50710d1d659efb03daaa4866c8',1,'GRRLIB_GXEngine(const guVector v[], const u32 color[], const long n, const u8 fmt): GRRLIB_fbGX.h']]], + ['grrlib_5finit',['GRRLIB_Init',['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c'],['../group___all_func.html#gad3186c7e10e4e6c46a743e062971e89a',1,'GRRLIB_Init(void): GRRLIB_core.c']]], + ['grrlib_5finittileset',['GRRLIB_InitTileSet',['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c'],['../group___all_func.html#ga9a25f472b099163469251ec7ad52d270',1,'GRRLIB_InitTileSet(GRRLIB_texImg *tex, const u32 tilew, const u32 tileh, const u32 tilestart): GRRLIB_bmf.c']]], + ['grrlib_5fline',['GRRLIB_Line',['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga6b0172d719954b1d876138d3e71b188c',1,'GRRLIB_Line(const f32 x1, const f32 y1, const f32 x2, const f32 y2, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5floadbmf',['GRRLIB_LoadBMF',['../group___all_func.html#ga8e67a70e71cfe202318f567fe62ee3f7',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c'],['../group___all_func.html#ga8e67a70e71cfe202318f567fe62ee3f7',1,'GRRLIB_LoadBMF(const u8 my_bmf[]): GRRLIB_bmf.c']]], + ['grrlib_5floadfile',['GRRLIB_LoadFile',['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c'],['../group___all_func.html#gad0e9150a261df8642375ce0b51e891dc',1,'GRRLIB_LoadFile(const char *filename, u8 **data): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexture',['GRRLIB_LoadTexture',['../group___all_func.html#ga49b31e270b46142828b96b7b63c47c88',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c'],['../group___all_func.html#ga49b31e270b46142828b96b7b63c47c88',1,'GRRLIB_LoadTexture(const u8 *my_img): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturebmp',['GRRLIB_LoadTextureBMP',['../group___all_func.html#ga715d38ab3a56377f4d1ae855f7a7a94e',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c'],['../group___all_func.html#ga715d38ab3a56377f4d1ae855f7a7a94e',1,'GRRLIB_LoadTextureBMP(const u8 *my_bmp): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturefromfile',['GRRLIB_LoadTextureFromFile',['../group___all_func.html#ga1c43c28ecb0e4d7f592577bca92e7ffc',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga1c43c28ecb0e4d7f592577bca92e7ffc',1,'GRRLIB_LoadTextureFromFile(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5floadtexturejpg',['GRRLIB_LoadTextureJPG',['../group___all_func.html#ga885310955bccea418939fb791e0640f8',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c'],['../group___all_func.html#ga885310955bccea418939fb791e0640f8',1,'GRRLIB_LoadTextureJPG(const u8 *my_jpg): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturejpgex',['GRRLIB_LoadTextureJPGEx',['../group___all_func.html#ga5acd24c18e51e157822df26dea920630',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const int my_size): GRRLIB_texEdit.c'],['../group___all_func.html#ga5acd24c18e51e157822df26dea920630',1,'GRRLIB_LoadTextureJPGEx(const u8 *my_jpg, const int): GRRLIB_texEdit.c']]], + ['grrlib_5floadtexturepng',['GRRLIB_LoadTexturePNG',['../group___all_func.html#gaab9f55cfb94c2cbfcd65fb7970357391',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c'],['../group___all_func.html#gaab9f55cfb94c2cbfcd65fb7970357391',1,'GRRLIB_LoadTexturePNG(const u8 *my_png): GRRLIB_texEdit.c']]], + ['grrlib_5floadttf',['GRRLIB_LoadTTF',['../group___all_func.html#gab2b209553f321a9e30078aa6f5942ea7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c'],['../group___all_func.html#gab2b209553f321a9e30078aa6f5942ea7',1,'GRRLIB_LoadTTF(const u8 *file_base, s32 file_size): GRRLIB_ttf.c']]], + ['grrlib_5fngone',['GRRLIB_NGone',['../group___all_func.html#gac7ba7ec716a2a7100cdc6f4fb8c85062',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h'],['../group___all_func.html#gac7ba7ec716a2a7100cdc6f4fb8c85062',1,'GRRLIB_NGone(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h']]], + ['grrlib_5fngonefilled',['GRRLIB_NGoneFilled',['../group___all_func.html#ga39d86882203f923af1403ec9bbbd01c4',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h'],['../group___all_func.html#ga39d86882203f923af1403ec9bbbd01c4',1,'GRRLIB_NGoneFilled(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h']]], + ['grrlib_5fnplot',['GRRLIB_NPlot',['../group___all_func.html#ga4e6b4d7e4a15eb39d507d923b439d0e5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h'],['../group___all_func.html#ga4e6b4d7e4a15eb39d507d923b439d0e5',1,'GRRLIB_NPlot(const guVector v[], const u32 color[], const long n): GRRLIB_fbComplex.h']]], + ['grrlib_5fobjectview',['GRRLIB_ObjectView',['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#gac02a14d2556b5ec92e28f41c9888b530',1,'GRRLIB_ObjectView(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewbegin',['GRRLIB_ObjectViewBegin',['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c'],['../group___all_func.html#gaf7f2e67faf4659534f18a6077522eaf6',1,'GRRLIB_ObjectViewBegin(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewend',['GRRLIB_ObjectViewEnd',['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c'],['../group___all_func.html#gac174d61b9a21730a97a8aa6ba59c8e2e',1,'GRRLIB_ObjectViewEnd(void): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewinv',['GRRLIB_ObjectViewInv',['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga03814286ada96c4a38fa36b9477bbd7c',1,'GRRLIB_ObjectViewInv(f32 posx, f32 posy, f32 posz, f32 angx, f32 angy, f32 angz, f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewrotate',['GRRLIB_ObjectViewRotate',['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c'],['../group___all_func.html#ga50ff0217cfeb128711fb1f3db3df4c8d',1,'GRRLIB_ObjectViewRotate(f32 angx, f32 angy, f32 angz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewscale',['GRRLIB_ObjectViewScale',['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c'],['../group___all_func.html#ga8e03d189c20637432df8dbf7d8c6948a',1,'GRRLIB_ObjectViewScale(f32 scalx, f32 scaly, f32 scalz): GRRLIB_3D.c']]], + ['grrlib_5fobjectviewtrans',['GRRLIB_ObjectViewTrans',['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c'],['../group___all_func.html#ga6991c87a4e1eff876be3733caa9b5947',1,'GRRLIB_ObjectViewTrans(f32 posx, f32 posy, f32 posz): GRRLIB_3D.c']]], + ['grrlib_5fplot',['GRRLIB_Plot',['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h'],['../group___all_func.html#ga3d9c6c2d1661d8cbe149b27ad5f6e288',1,'GRRLIB_Plot(const f32 x, const f32 y, const u32 color): GRRLIB_fbSimple.h']]], + ['grrlib_5fprintbmf',['GRRLIB_PrintBMF',['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#gabc7a3deff6baf1923bbde413c036ef96',1,'GRRLIB_PrintBMF(const f32 xpos, const f32 ypos, const GRRLIB_bytemapFont *bmf, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintf',['GRRLIB_Printf',['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c'],['../group___all_func.html#ga5539140382d9563e4e42dbda1694d21d',1,'GRRLIB_Printf(const f32 xpos, const f32 ypos, const GRRLIB_texImg *tex, const u32 color, const f32 zoom, const char *text,...): GRRLIB_print.c']]], + ['grrlib_5fprintfttf',['GRRLIB_PrintfTTF',['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#ga358e206bb75caac5bf850bd6f8f17d2a',1,'GRRLIB_PrintfTTF(int x, int y, GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fprintfttfw',['GRRLIB_PrintfTTFW',['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize, const u32 color): GRRLIB_ttf.c'],['../group___all_func.html#gaba31ba538f5ee4f1abf0fb604a34d45b',1,'GRRLIB_PrintfTTFW(int x, int y, GRRLIB_ttfFont *myFont, const wchar_t *string, unsigned int fontSize, const u32 color): GRRLIB_ttf.c']]], + ['grrlib_5fptinrect',['GRRLIB_PtInRect',['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h'],['../group___all_func.html#gaa0e1bd3df799dc1ee46067f7ce3ca8c7',1,'GRRLIB_PtInRect(const int hotx, const int hoty, const int hotw, const int hoth, const int wpadx, const int wpady): GRRLIB_collision.h']]], + ['grrlib_5frectangle',['GRRLIB_Rectangle',['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h'],['../group___all_func.html#ga4d8e2d39ff349f77b0400431f35e55c3',1,'GRRLIB_Rectangle(const f32 x, const f32 y, const f32 width, const f32 height, const u32 color, const bool filled): GRRLIB_fbSimple.h']]], + ['grrlib_5frectinrect',['GRRLIB_RectInRect',['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#gaaaf388fab79085829b2cc886f18a138f',1,'GRRLIB_RectInRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frectonrect',['GRRLIB_RectOnRect',['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h'],['../group___all_func.html#ga87b9fd5a8ec33cce9b23a243ccda824d',1,'GRRLIB_RectOnRect(const int rect1x, const int rect1y, const int rect1w, const int rect1h, const int rect2x, const int rect2y, const int rect2w, const int rect2h): GRRLIB_collision.h']]], + ['grrlib_5frender',['GRRLIB_Render',['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c'],['../group___all_func.html#ga9840a19154f1e0cf9de14ad81ba23aef',1,'GRRLIB_Render(void): GRRLIB_render.c']]], + ['grrlib_5fscreen2texture',['GRRLIB_Screen2Texture',['../group___all_func.html#ga7ac4e30576d4fccd0ae537a41b75f4c1',1,'GRRLIB_Screen2Texture(int posx, int posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c'],['../group___all_func.html#ga7ac4e30576d4fccd0ae537a41b75f4c1',1,'GRRLIB_Screen2Texture(int posx, int posy, GRRLIB_texImg *tex, bool clear): GRRLIB_snapshot.c']]], + ['grrlib_5fscrshot',['GRRLIB_ScrShot',['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c'],['../group___all_func.html#ga3460233a6d9323890a8eefa19f520e25',1,'GRRLIB_ScrShot(const char *filename): GRRLIB_fileIO.c']]], + ['grrlib_5fsetantialiasing',['GRRLIB_SetAntiAliasing',['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h'],['../group___all_func.html#ga6a685c604592b6f219f101b1f47d87bd',1,'GRRLIB_SetAntiAliasing(const bool aa): GRRLIB_settings.h']]], + ['grrlib_5fsetbackgroundcolour',['GRRLIB_SetBackgroundColour',['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c'],['../group___all_func.html#ga73ea335f801066d4c13114124e70f82f',1,'GRRLIB_SetBackgroundColour(u8 r, u8 g, u8 b, u8 a): GRRLIB_3D.c']]], + ['grrlib_5fsetblend',['GRRLIB_SetBlend',['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h'],['../group___all_func.html#ga18217682c9ef5d1fb4a12bfd9b964ce8',1,'GRRLIB_SetBlend(const GRRLIB_blendMode blendmode): GRRLIB_settings.h']]], + ['grrlib_5fsethandle',['GRRLIB_SetHandle',['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h'],['../group___all_func.html#ga0c98022975900b36e91bb1bf78b64a9b',1,'GRRLIB_SetHandle(GRRLIB_texImg *tex, const int x, const int y): GRRLIB_handle.h']]], + ['grrlib_5fsetlightambient',['GRRLIB_SetLightAmbient',['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c'],['../group___all_func.html#gae2db782b9842924329956daaeefbac20',1,'GRRLIB_SetLightAmbient(u32 ambientcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightdiff',['GRRLIB_SetLightDiff',['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#ga160f23daf580d4d41e491135f2f86027',1,'GRRLIB_SetLightDiff(u8 num, guVector pos, f32 distattn, f32 brightness, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightoff',['GRRLIB_SetLightOff',['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c'],['../group___all_func.html#ga4b4e22c02cf692d254f32da348299b78',1,'GRRLIB_SetLightOff(void): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspec',['GRRLIB_SetLightSpec',['../group___all_func.html#ga2cd64208138d748c5d5d8266237578f0',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shy, u32 lightcolor, u32 speccolor): GRRLIB_3D.c'],['../group___all_func.html#ga2cd64208138d748c5d5d8266237578f0',1,'GRRLIB_SetLightSpec(u8 num, guVector dir, f32 shy, u32 lightcolor, u32 speccolor): GRRLIB_3D.c']]], + ['grrlib_5fsetlightspot',['GRRLIB_SetLightSpot',['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c'],['../group___all_func.html#gac4ae6bb35e12d59405c842c93e860462',1,'GRRLIB_SetLightSpot(u8 num, guVector pos, guVector lookat, f32 angAttn0, f32 angAttn1, f32 angAttn2, f32 distAttn0, f32 distAttn1, f32 distAttn2, u32 lightcolor): GRRLIB_3D.c']]], + ['grrlib_5fsetmidhandle',['GRRLIB_SetMidHandle',['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h'],['../group___all_func.html#gaf9765f9f9f807396e554cb32e50dd1d6',1,'GRRLIB_SetMidHandle(GRRLIB_texImg *tex, const bool enabled): GRRLIB_handle.h']]], + ['grrlib_5fsetpixeltofb',['GRRLIB_SetPixelToFB',['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h'],['../group___all_func.html#ga2de134824b5ecc4d5011e98e7428ed31',1,'GRRLIB_SetPixelToFB(int x, int y, u32 pokeColor): GRRLIB_pixel.h']]], + ['grrlib_5fsetpixeltoteximg',['GRRLIB_SetPixelTotexImg',['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h'],['../group___all_func.html#ga56e0544dd2fbf62ed03dbd2d91478c79',1,'GRRLIB_SetPixelTotexImg(const int x, const int y, GRRLIB_texImg *tex, const u32 color): GRRLIB_pixel.h']]], + ['grrlib_5fsettexture',['GRRLIB_SetTexture',['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c'],['../group___all_func.html#gacdda772743d08b1e060f2b3dbf4795ed',1,'GRRLIB_SetTexture(GRRLIB_texImg *tex, bool rep): GRRLIB_3D.c']]], + ['grrlib_5fwidthttf',['GRRLIB_WidthTTF',['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *string, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#ga53429ddacb34b9fd89635ae412e57227',1,'GRRLIB_WidthTTF(GRRLIB_ttfFont *myFont, const char *, unsigned int): GRRLIB_ttf.c']]], + ['grrlib_5fwidthttfw',['GRRLIB_WidthTTFW',['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *utf32, unsigned int fontSize): GRRLIB_ttf.c'],['../group___all_func.html#gac8b9bb428ec8328f2954f74cf8a6edab',1,'GRRLIB_WidthTTFW(GRRLIB_ttfFont *myFont, const wchar_t *, unsigned int): GRRLIB_ttf.c']]] +]; diff --git a/search/groups_0.html b/search/groups_0.html new file mode 100644 index 0000000..1ede28d --- /dev/null +++ b/search/groups_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/groups_0.js b/search/groups_0.js new file mode 100644 index 0000000..7303cf4 --- /dev/null +++ b/search/groups_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['everything_20in_20grrlib',['Everything in GRRLIB',['../group___all_func.html',1,'']]] +]; diff --git a/search/mag_sel.png b/search/mag_sel.png new file mode 100644 index 0000000000000000000000000000000000000000..81f6040a2092402b4d98f9ffa8855d12a0d4ca17 GIT binary patch literal 563 zcmV-30?hr1P)zxx&tqG15pu7)IiiXFflOc2k;dXd>%13GZAy? zRz!q0=|E6a6vV)&ZBS~G9oe0kbqyw1*gvY`{Pop2oKq#FlzgXt@Xh-7fxh>}`Fxg> z$%N%{$!4=5nM{(;=c!aG1Ofr^Do{u%Ih{^&Fc@H2)+a-?TBXrw5DW&z%Nb6mQ!L9O zl}b@6mB?f=tX3;#vl)}ggh(Vpyh(IK z(Mb0D{l{U$FsRjP;!{($+bsaaVi8T#1c0V#qEIOCYa9@UVLV`f__E81L;?WEaRA;Y zUH;rZ;vb;mk7JX|$=i3O~&If0O@oZfLg8gfIjW=dcBsz;gI=!{-r4# z4%6v$&~;q^j7Fo67yJ(NJWuX+I~I!tj^nW3?}^9bq|<3^+vapS5sgM^x7!cs(+mMT z&y%j};&~po+YO)3hoUH4E*E;e9>?R6SS&`X)p`njycAVcg{rEb41T{~Hk(bl-7eSb zmFxA2uIqo#@R?lKm50ND`~6Nfn|-b1|L6O98vt3Tx@gKz#isxO002ovPDHLkV1kyW B_l^Jn literal 0 HcmV?d00001 diff --git a/search/nomatches.html b/search/nomatches.html new file mode 100644 index 0000000..b1ded27 --- /dev/null +++ b/search/nomatches.html @@ -0,0 +1,12 @@ + + + + + + + +
    +
    No Matches
    +
    + + diff --git a/search/pages_0.html b/search/pages_0.html new file mode 100644 index 0000000..4955b9e --- /dev/null +++ b/search/pages_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_0.js b/search/pages_0.js new file mode 100644 index 0000000..aac63aa --- /dev/null +++ b/search/pages_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['changelog',['Changelog',['../md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__c_h_a_n_g_e_l_o_g.html',1,'']]] +]; diff --git a/search/pages_1.html b/search/pages_1.html new file mode 100644 index 0000000..aedb14e --- /dev/null +++ b/search/pages_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_1.js b/search/pages_1.js new file mode 100644 index 0000000..fcb7dcb --- /dev/null +++ b/search/pages_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['grrlib_20documentation',['GRRLIB Documentation',['../index.html',1,'']]] +]; diff --git a/search/pages_2.html b/search/pages_2.html new file mode 100644 index 0000000..bd91593 --- /dev/null +++ b/search/pages_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/pages_2.js b/search/pages_2.js new file mode 100644 index 0000000..6183c62 --- /dev/null +++ b/search/pages_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['licence',['LICENCE',['../md__home_runner_work__g_r_r_l_i_b__g_r_r_l_i_b__l_i_c_e_n_c_e.html',1,'']]] +]; diff --git a/search/search.css b/search/search.css new file mode 100644 index 0000000..3cf9df9 --- /dev/null +++ b/search/search.css @@ -0,0 +1,271 @@ +/*---------------- Search Box */ + +#FSearchBox { + float: left; +} + +#MSearchBox { + white-space : nowrap; + float: none; + margin-top: 8px; + right: 0px; + width: 170px; + height: 24px; + z-index: 102; +} + +#MSearchBox .left +{ + display:block; + position:absolute; + left:10px; + width:20px; + height:19px; + background:url('search_l.png') no-repeat; + background-position:right; +} + +#MSearchSelect { + display:block; + position:absolute; + width:20px; + height:19px; +} + +.left #MSearchSelect { + left:4px; +} + +.right #MSearchSelect { + right:5px; +} + +#MSearchField { + display:block; + position:absolute; + height:19px; + background:url('search_m.png') repeat-x; + border:none; + width:115px; + margin-left:20px; + padding-left:4px; + color: #909090; + outline: none; + font: 9pt Arial, Verdana, sans-serif; + -webkit-border-radius: 0px; +} + +#FSearchBox #MSearchField { + margin-left:15px; +} + +#MSearchBox .right { + display:block; + position:absolute; + right:10px; + top:8px; + width:20px; + height:19px; + background:url('search_r.png') no-repeat; + background-position:left; +} + +#MSearchClose { + display: none; + position: absolute; + top: 4px; + background : none; + border: none; + margin: 0px 4px 0px 0px; + padding: 0px 0px; + outline: none; +} + +.left #MSearchClose { + left: 6px; +} + +.right #MSearchClose { + right: 2px; +} + +.MSearchBoxActive #MSearchField { + color: #000000; +} + +/*---------------- Search filter selection */ + +#MSearchSelectWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #90A5CE; + background-color: #F9FAFC; + z-index: 10001; + padding-top: 4px; + padding-bottom: 4px; + -moz-border-radius: 4px; + -webkit-border-top-left-radius: 4px; + -webkit-border-top-right-radius: 4px; + -webkit-border-bottom-left-radius: 4px; + -webkit-border-bottom-right-radius: 4px; + -webkit-box-shadow: 5px 5px 5px rgba(0, 0, 0, 0.15); +} + +.SelectItem { + font: 8pt Arial, Verdana, sans-serif; + padding-left: 2px; + padding-right: 12px; + border: 0px; +} + +span.SelectionMark { + margin-right: 4px; + font-family: monospace; + outline-style: none; + text-decoration: none; +} + +a.SelectItem { + display: block; + outline-style: none; + color: #000000; + text-decoration: none; + padding-left: 6px; + padding-right: 12px; +} + +a.SelectItem:focus, +a.SelectItem:active { + color: #000000; + outline-style: none; + text-decoration: none; +} + +a.SelectItem:hover { + color: #FFFFFF; + background-color: #3D578C; + outline-style: none; + text-decoration: none; + cursor: pointer; + display: block; +} + +/*---------------- Search results window */ + +iframe#MSearchResults { + width: 60ex; + height: 15em; +} + +#MSearchResultsWindow { + display: none; + position: absolute; + left: 0; top: 0; + border: 1px solid #000; + background-color: #EEF1F7; + z-index:10000; +} + +/* ----------------------------------- */ + + +#SRIndex { + clear:both; + padding-bottom: 15px; +} + +.SREntry { + font-size: 10pt; + padding-left: 1ex; +} + +.SRPage .SREntry { + font-size: 8pt; + padding: 1px 5px; +} + +body.SRPage { + margin: 5px 2px; +} + +.SRChildren { + padding-left: 3ex; padding-bottom: .5em +} + +.SRPage .SRChildren { + display: none; +} + +.SRSymbol { + font-weight: bold; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRScope { + display: block; + color: #425E97; + font-family: Arial, Verdana, sans-serif; + text-decoration: none; + outline: none; +} + +a.SRSymbol:focus, a.SRSymbol:active, +a.SRScope:focus, a.SRScope:active { + text-decoration: underline; +} + +span.SRScope { + padding-left: 4px; +} + +.SRPage .SRStatus { + padding: 2px 5px; + font-size: 8pt; + font-style: italic; +} + +.SRResult { + display: none; +} + +DIV.searchresults { + margin-left: 10px; + margin-right: 10px; +} + +/*---------------- External search page results */ + +.searchresult { + background-color: #F0F3F8; +} + +.pages b { + color: white; + padding: 5px 5px 3px 5px; + background-image: url("../tab_a.png"); + background-repeat: repeat-x; + text-shadow: 0 1px 1px #000000; +} + +.pages { + line-height: 17px; + margin-left: 4px; + text-decoration: none; +} + +.hl { + font-weight: bold; +} + +#searchresults { + margin-bottom: 20px; +} + +.searchpages { + margin-top: 10px; +} + diff --git a/search/search.js b/search/search.js new file mode 100644 index 0000000..dedce3b --- /dev/null +++ b/search/search.js @@ -0,0 +1,791 @@ +function convertToId(search) +{ + var result = ''; + for (i=0;i do a search + { + this.Search(); + } + } + + this.OnSearchSelectKey = function(evt) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==40 && this.searchIndex0) // Up + { + this.searchIndex--; + this.OnSelectItem(this.searchIndex); + } + else if (e.keyCode==13 || e.keyCode==27) + { + this.OnSelectItem(this.searchIndex); + this.CloseSelectionWindow(); + this.DOMSearchField().focus(); + } + return false; + } + + // --------- Actions + + // Closes the results window. + this.CloseResultsWindow = function() + { + this.DOMPopupSearchResultsWindow().style.display = 'none'; + this.DOMSearchClose().style.display = 'none'; + this.Activate(false); + } + + this.CloseSelectionWindow = function() + { + this.DOMSearchSelectWindow().style.display = 'none'; + } + + // Performs a search. + this.Search = function() + { + this.keyTimeout = 0; + + // strip leading whitespace + var searchValue = this.DOMSearchField().value.replace(/^ +/, ""); + + var code = searchValue.toLowerCase().charCodeAt(0); + var idxChar = searchValue.substr(0, 1).toLowerCase(); + if ( 0xD800 <= code && code <= 0xDBFF && searchValue > 1) // surrogate pair + { + idxChar = searchValue.substr(0, 2); + } + + var resultsPage; + var resultsPageWithSearch; + var hasResultsPage; + + var idx = indexSectionsWithContent[this.searchIndex].indexOf(idxChar); + if (idx!=-1) + { + var hexCode=idx.toString(16); + resultsPage = this.resultsPath + '/' + indexSectionNames[this.searchIndex] + '_' + hexCode + '.html'; + resultsPageWithSearch = resultsPage+'?'+escape(searchValue); + hasResultsPage = true; + } + else // nothing available for this search term + { + resultsPage = this.resultsPath + '/nomatches.html'; + resultsPageWithSearch = resultsPage; + hasResultsPage = false; + } + + window.frames.MSearchResults.location = resultsPageWithSearch; + var domPopupSearchResultsWindow = this.DOMPopupSearchResultsWindow(); + + if (domPopupSearchResultsWindow.style.display!='block') + { + var domSearchBox = this.DOMSearchBox(); + this.DOMSearchClose().style.display = 'inline'; + if (this.insideFrame) + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + domPopupSearchResultsWindow.style.position = 'relative'; + domPopupSearchResultsWindow.style.display = 'block'; + var width = document.body.clientWidth - 8; // the -8 is for IE :-( + domPopupSearchResultsWindow.style.width = width + 'px'; + domPopupSearchResults.style.width = width + 'px'; + } + else + { + var domPopupSearchResults = this.DOMPopupSearchResults(); + var left = getXPos(domSearchBox) + 150; // domSearchBox.offsetWidth; + var top = getYPos(domSearchBox) + 20; // domSearchBox.offsetHeight + 1; + domPopupSearchResultsWindow.style.display = 'block'; + left -= domPopupSearchResults.offsetWidth; + domPopupSearchResultsWindow.style.top = top + 'px'; + domPopupSearchResultsWindow.style.left = left + 'px'; + } + } + + this.lastSearchValue = searchValue; + this.lastResultsPage = resultsPage; + } + + // -------- Activation Functions + + // Activates or deactivates the search panel, resetting things to + // their default values if necessary. + this.Activate = function(isActive) + { + if (isActive || // open it + this.DOMPopupSearchResultsWindow().style.display == 'block' + ) + { + this.DOMSearchBox().className = 'MSearchBoxActive'; + + var searchField = this.DOMSearchField(); + + if (searchField.value == this.searchLabel) // clear "Search" term upon entry + { + searchField.value = ''; + this.searchActive = true; + } + } + else if (!isActive) // directly remove the panel + { + this.DOMSearchBox().className = 'MSearchBoxInactive'; + this.DOMSearchField().value = this.searchLabel; + this.searchActive = false; + this.lastSearchValue = '' + this.lastResultsPage = ''; + } + } +} + +// ----------------------------------------------------------------------- + +// The class that handles everything on the search results page. +function SearchResults(name) +{ + // The number of matches from the last run of . + this.lastMatchCount = 0; + this.lastKey = 0; + this.repeatOn = false; + + // Toggles the visibility of the passed element ID. + this.FindChildElement = function(id) + { + var parentElement = document.getElementById(id); + var element = parentElement.firstChild; + + while (element && element!=parentElement) + { + if (element.nodeName == 'DIV' && element.className == 'SRChildren') + { + return element; + } + + if (element.nodeName == 'DIV' && element.hasChildNodes()) + { + element = element.firstChild; + } + else if (element.nextSibling) + { + element = element.nextSibling; + } + else + { + do + { + element = element.parentNode; + } + while (element && element!=parentElement && !element.nextSibling); + + if (element && element!=parentElement) + { + element = element.nextSibling; + } + } + } + } + + this.Toggle = function(id) + { + var element = this.FindChildElement(id); + if (element) + { + if (element.style.display == 'block') + { + element.style.display = 'none'; + } + else + { + element.style.display = 'block'; + } + } + } + + // Searches for the passed string. If there is no parameter, + // it takes it from the URL query. + // + // Always returns true, since other documents may try to call it + // and that may or may not be possible. + this.Search = function(search) + { + if (!search) // get search word from URL + { + search = window.location.search; + search = search.substring(1); // Remove the leading '?' + search = unescape(search); + } + + search = search.replace(/^ +/, ""); // strip leading spaces + search = search.replace(/ +$/, ""); // strip trailing spaces + search = search.toLowerCase(); + search = convertToId(search); + + var resultRows = document.getElementsByTagName("div"); + var matches = 0; + + var i = 0; + while (i < resultRows.length) + { + var row = resultRows.item(i); + if (row.className == "SRResult") + { + var rowMatchName = row.id.toLowerCase(); + rowMatchName = rowMatchName.replace(/^sr\d*_/, ''); // strip 'sr123_' + + if (search.length<=rowMatchName.length && + rowMatchName.substr(0, search.length)==search) + { + row.style.display = 'block'; + matches++; + } + else + { + row.style.display = 'none'; + } + } + i++; + } + document.getElementById("Searching").style.display='none'; + if (matches == 0) // no results + { + document.getElementById("NoMatches").style.display='block'; + } + else // at least one result + { + document.getElementById("NoMatches").style.display='none'; + } + this.lastMatchCount = matches; + return true; + } + + // return the first item with index index or higher that is visible + this.NavNext = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index++; + } + return focusItem; + } + + this.NavPrev = function(index) + { + var focusItem; + while (1) + { + var focusName = 'Item'+index; + focusItem = document.getElementById(focusName); + if (focusItem && focusItem.parentNode.parentNode.style.display=='block') + { + break; + } + else if (!focusItem) // last element + { + break; + } + focusItem=null; + index--; + } + return focusItem; + } + + this.ProcessKeys = function(e) + { + if (e.type == "keydown") + { + this.repeatOn = false; + this.lastKey = e.keyCode; + } + else if (e.type == "keypress") + { + if (!this.repeatOn) + { + if (this.lastKey) this.repeatOn = true; + return false; // ignore first keypress after keydown + } + } + else if (e.type == "keyup") + { + this.lastKey = 0; + this.repeatOn = false; + } + return this.lastKey!=0; + } + + this.Nav = function(evt,itemIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + var newIndex = itemIndex-1; + var focusItem = this.NavPrev(newIndex); + if (focusItem) + { + var child = this.FindChildElement(focusItem.parentNode.parentNode.id); + if (child && child.style.display == 'block') // children visible + { + var n=0; + var tmpElem; + while (1) // search for last child + { + tmpElem = document.getElementById('Item'+newIndex+'_c'+n); + if (tmpElem) + { + focusItem = tmpElem; + } + else // found it! + { + break; + } + n++; + } + } + } + if (focusItem) + { + focusItem.focus(); + } + else // return focus to search field + { + parent.document.getElementById("MSearchField").focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = itemIndex+1; + var focusItem; + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem && elem.style.display == 'block') // children visible + { + focusItem = document.getElementById('Item'+itemIndex+'_c0'); + } + if (!focusItem) focusItem = this.NavNext(newIndex); + if (focusItem) focusItem.focus(); + } + else if (this.lastKey==39) // Right + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'block'; + } + else if (this.lastKey==37) // Left + { + var item = document.getElementById('Item'+itemIndex); + var elem = this.FindChildElement(item.parentNode.parentNode.id); + if (elem) elem.style.display = 'none'; + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } + + this.NavChild = function(evt,itemIndex,childIndex) + { + var e = (evt) ? evt : window.event; // for IE + if (e.keyCode==13) return true; + if (!this.ProcessKeys(e)) return false; + + if (this.lastKey==38) // Up + { + if (childIndex>0) + { + var newIndex = childIndex-1; + document.getElementById('Item'+itemIndex+'_c'+newIndex).focus(); + } + else // already at first child, jump to parent + { + document.getElementById('Item'+itemIndex).focus(); + } + } + else if (this.lastKey==40) // Down + { + var newIndex = childIndex+1; + var elem = document.getElementById('Item'+itemIndex+'_c'+newIndex); + if (!elem) // last child, jump to parent next parent + { + elem = this.NavNext(itemIndex+1); + } + if (elem) + { + elem.focus(); + } + } + else if (this.lastKey==27) // Escape + { + parent.searchBox.CloseResultsWindow(); + parent.document.getElementById("MSearchField").focus(); + } + else if (this.lastKey==13) // Enter + { + return true; + } + return false; + } +} + +function setKeyActions(elem,action) +{ + elem.setAttribute('onkeydown',action); + elem.setAttribute('onkeypress',action); + elem.setAttribute('onkeyup',action); +} + +function setClassAttr(elem,attr) +{ + elem.setAttribute('class',attr); + elem.setAttribute('className',attr); +} + +function createResults() +{ + var results = document.getElementById("SRResults"); + for (var e=0; ek7RCwB~R6VQOP#AvB$vH7i{6H{96zot$7cZT<7246EF5Np6N}+$IbiG6W zg#87A+NFaX+=_^xM1#gCtshC=E{%9^uQX_%?YwXvo{#q&MnpJ8uh(O?ZRc&~_1%^SsPxG@rfElJg-?U zm!Cz-IOn(qJP3kDp-^~qt+FGbl=5jNli^Wj_xIBG{Rc0en{!oFvyoNC7{V~T8}b>| z=jL2WIReZzX(YN(_9fV;BBD$VXQIxNasAL8ATvEu822WQ%mvv4FO#qs` BFGc_W literal 0 HcmV?d00001 diff --git a/search/search_r.png b/search/search_r.png new file mode 100644 index 0000000000000000000000000000000000000000..97ee8b439687084201b79c6f776a41f495c6392a GIT binary patch literal 612 zcmV-q0-ODbP)PbXFRCwB?)W514K@j&X?z2*SxFI6-@HT2E2K=9X9%Pb zEK*!TBw&g(DMC;|A)uGlRkOS9vd-?zNs%bR4d$w+ox_iFnE8fvIvv7^5<(>Te12Li z7C)9srCzmK{ZcNM{YIl9j{DePFgOWiS%xG@5CnnnJa4nvY<^glbz7^|-ZY!dUkAwd z{gaTC@_>b5h~;ug#R0wRL0>o5!hxm*s0VW?8dr}O#zXTRTnrQm_Z7z1Mrnx>&p zD4qifUjzLvbVVWi?l?rUzwt^sdb~d!f_LEhsRVIXZtQ=qSxuxqm zEX#tf>$?M_Y1-LSDT)HqG?`%-%ZpY!#{N!rcNIiL;G7F0`l?)mNGTD9;f9F5Up3Kg zw}a<-JylhG&;=!>B+fZaCX+?C+kHYrP%c?X2!Zu_olK|GcS4A70HEy;vn)I0>0kLH z`jc(WIaaHc7!HS@f*^R^Znx8W=_jIl2oWJoQ*h1^$FX!>*PqR1J8k|fw}w_y}TpE>7m8DqDO<3z`OzXt$ccSejbEZCg@0000 + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/typedefs_0.js b/search/typedefs_0.js new file mode 100644 index 0000000..6293d52 --- /dev/null +++ b/search/typedefs_0.js @@ -0,0 +1,9 @@ +var searchData= +[ + ['grrlib_5fblendmode',['GRRLIB_blendMode',['../group___all_func.html#gabe3492d05b0bc11aed3dab873129fba0',1,'grrlib.h']]], + ['grrlib_5fbytemapchar',['GRRLIB_bytemapChar',['../group___all_func.html#ga9ce042be1acf8ec62c9a0b43d89becfa',1,'grrlib.h']]], + ['grrlib_5fbytemapfont',['GRRLIB_bytemapFont',['../group___all_func.html#gaf9bf452aa990a8e9987aa689aacbe782',1,'grrlib.h']]], + ['grrlib_5fdrawsettings',['GRRLIB_drawSettings',['../group___all_func.html#ga5e6c1fe5b472dc0c8683e28a36f154c6',1,'grrlib.h']]], + ['grrlib_5fteximg',['GRRLIB_texImg',['../group___all_func.html#gaaa6ad5d8d27cb06f2c9caa8d274c936b',1,'grrlib.h']]], + ['grrlib_5fttffont',['GRRLIB_ttfFont',['../group___all_func.html#ga499180deb21d989a9a41df654e2f037f',1,'grrlib.h']]] +]; diff --git a/search/variables_0.html b/search/variables_0.html new file mode 100644 index 0000000..74ce807 --- /dev/null +++ b/search/variables_0.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_0.js b/search/variables_0.js new file mode 100644 index 0000000..133f9e6 --- /dev/null +++ b/search/variables_0.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['antialias',['antialias',['../struct_g_r_r_l_i_b__draw_settings.html#a0511a787f97e723bc74c4b5b89ddfdad',1,'GRRLIB_drawSettings']]] +]; diff --git a/search/variables_1.html b/search/variables_1.html new file mode 100644 index 0000000..84237b6 --- /dev/null +++ b/search/variables_1.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_1.js b/search/variables_1.js new file mode 100644 index 0000000..0b01ed5 --- /dev/null +++ b/search/variables_1.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['blend',['blend',['../struct_g_r_r_l_i_b__draw_settings.html#abe73f4ef80e558d21151b8097439a0fa',1,'GRRLIB_drawSettings']]] +]; diff --git a/search/variables_2.html b/search/variables_2.html new file mode 100644 index 0000000..5c9de1a --- /dev/null +++ b/search/variables_2.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_2.js b/search/variables_2.js new file mode 100644 index 0000000..a640e57 --- /dev/null +++ b/search/variables_2.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['chardef',['charDef',['../struct_g_r_r_l_i_b__bytemap_font.html#aef9491d85292230ae9c06883f519e540',1,'GRRLIB_bytemapFont']]] +]; diff --git a/search/variables_3.html b/search/variables_3.html new file mode 100644 index 0000000..f95e34c --- /dev/null +++ b/search/variables_3.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_3.js b/search/variables_3.js new file mode 100644 index 0000000..403164f --- /dev/null +++ b/search/variables_3.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['data',['data',['../struct_g_r_r_l_i_b__tex_img.html#a735984d41155bc1032e09bece8f8d66d',1,'GRRLIB_texImg::data()'],['../struct_g_r_r_l_i_b__bytemap_char.html#a40767ad71451f60885c01f28dd2a4b47',1,'GRRLIB_bytemapChar::data()']]] +]; diff --git a/search/variables_4.html b/search/variables_4.html new file mode 100644 index 0000000..d7db285 --- /dev/null +++ b/search/variables_4.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_4.js b/search/variables_4.js new file mode 100644 index 0000000..430c454 --- /dev/null +++ b/search/variables_4.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['face',['face',['../struct_g_r_r_l_i_b___font.html#a22e9f2a8a4fc5c0f350faffdfdc1ef54',1,'GRRLIB_Font']]] +]; diff --git a/search/variables_5.html b/search/variables_5.html new file mode 100644 index 0000000..7bbceeb --- /dev/null +++ b/search/variables_5.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_5.js b/search/variables_5.js new file mode 100644 index 0000000..a72f292 --- /dev/null +++ b/search/variables_5.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['h',['h',['../struct_g_r_r_l_i_b__tex_img.html#a3b713de5e8af3c7ae800a2c9856780a2',1,'GRRLIB_texImg']]], + ['handlex',['handlex',['../struct_g_r_r_l_i_b__tex_img.html#aeabe01fe64ab978062a145d723201aaf',1,'GRRLIB_texImg']]], + ['handley',['handley',['../struct_g_r_r_l_i_b__tex_img.html#ac46115747734d99869a5ae8a6e26f590',1,'GRRLIB_texImg']]], + ['height',['height',['../struct_g_r_r_l_i_b__bytemap_char.html#ac3f221619d1bd1d6f1d46727f0c913a2',1,'GRRLIB_bytemapChar']]] +]; diff --git a/search/variables_6.html b/search/variables_6.html new file mode 100644 index 0000000..4eb162d --- /dev/null +++ b/search/variables_6.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_6.js b/search/variables_6.js new file mode 100644 index 0000000..72ab0a6 --- /dev/null +++ b/search/variables_6.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['kerning',['kerning',['../struct_g_r_r_l_i_b__bytemap_char.html#a8f3b7e1679518b07394e7c5acb2b7d9a',1,'GRRLIB_bytemapChar::kerning()'],['../struct_g_r_r_l_i_b___font.html#aef697ace6f9a1136e6117b6ead3d9c4c',1,'GRRLIB_Font::kerning()']]] +]; diff --git a/search/variables_7.html b/search/variables_7.html new file mode 100644 index 0000000..0408829 --- /dev/null +++ b/search/variables_7.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_7.js b/search/variables_7.js new file mode 100644 index 0000000..9af4e0b --- /dev/null +++ b/search/variables_7.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['lights',['lights',['../struct_g_r_r_l_i_b__draw_settings.html#a48b630899944c5bb1103172391c738a8',1,'GRRLIB_drawSettings']]] +]; diff --git a/search/variables_8.html b/search/variables_8.html new file mode 100644 index 0000000..d54d096 --- /dev/null +++ b/search/variables_8.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_8.js b/search/variables_8.js new file mode 100644 index 0000000..3d04877 --- /dev/null +++ b/search/variables_8.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['name',['name',['../struct_g_r_r_l_i_b__bytemap_font.html#a5ac083a645d964373f022d03df4849c8',1,'GRRLIB_bytemapFont']]], + ['nbchar',['nbChar',['../struct_g_r_r_l_i_b__bytemap_font.html#ae859dcb34b5b3dafa769120b2302130f',1,'GRRLIB_bytemapFont']]], + ['nbtileh',['nbtileh',['../struct_g_r_r_l_i_b__tex_img.html#a1da5528a8f8d7727d166c727e07b30ba',1,'GRRLIB_texImg']]], + ['nbtilew',['nbtilew',['../struct_g_r_r_l_i_b__tex_img.html#acb5644c4dac42ee6f9a5081ec0fd3a4f',1,'GRRLIB_texImg']]] +]; diff --git a/search/variables_9.html b/search/variables_9.html new file mode 100644 index 0000000..234dc60 --- /dev/null +++ b/search/variables_9.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_9.js b/search/variables_9.js new file mode 100644 index 0000000..50bc7cd --- /dev/null +++ b/search/variables_9.js @@ -0,0 +1,7 @@ +var searchData= +[ + ['offsetx',['offsetx',['../struct_g_r_r_l_i_b__tex_img.html#a1f1b2cd64720fe490801ccf4c5af3318',1,'GRRLIB_texImg']]], + ['offsety',['offsety',['../struct_g_r_r_l_i_b__tex_img.html#a1e4f9e08319378a51518c10a7f9315c4',1,'GRRLIB_texImg']]], + ['ofnormaltexx',['ofnormaltexx',['../struct_g_r_r_l_i_b__tex_img.html#a89846626665e4077edd8fb83ecaf4b8c',1,'GRRLIB_texImg']]], + ['ofnormaltexy',['ofnormaltexy',['../struct_g_r_r_l_i_b__tex_img.html#a750ee88d4bdc2c0fabf27124951044b6',1,'GRRLIB_texImg']]] +]; diff --git a/search/variables_a.html b/search/variables_a.html new file mode 100644 index 0000000..0892488 --- /dev/null +++ b/search/variables_a.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_a.js b/search/variables_a.js new file mode 100644 index 0000000..920819b --- /dev/null +++ b/search/variables_a.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['palette',['palette',['../struct_g_r_r_l_i_b__bytemap_font.html#a2c7c01c6eca69b2fc9d0267ca8228853',1,'GRRLIB_bytemapFont']]] +]; diff --git a/search/variables_b.html b/search/variables_b.html new file mode 100644 index 0000000..ea46965 --- /dev/null +++ b/search/variables_b.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_b.js b/search/variables_b.js new file mode 100644 index 0000000..dfe60e2 --- /dev/null +++ b/search/variables_b.js @@ -0,0 +1,6 @@ +var searchData= +[ + ['relx',['relx',['../struct_g_r_r_l_i_b__bytemap_char.html#a86979216677e53eab88a6f972804ea18',1,'GRRLIB_bytemapChar']]], + ['rely',['rely',['../struct_g_r_r_l_i_b__bytemap_char.html#a3859c6fa880002245f1343b424555245',1,'GRRLIB_bytemapChar']]], + ['rmode',['rmode',['../group___all_func.html#ga10c3414080fff8aeaccb0b1584d51edc',1,'grrlib.h']]] +]; diff --git a/search/variables_c.html b/search/variables_c.html new file mode 100644 index 0000000..94bf1a6 --- /dev/null +++ b/search/variables_c.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_c.js b/search/variables_c.js new file mode 100644 index 0000000..1c8e94d --- /dev/null +++ b/search/variables_c.js @@ -0,0 +1,8 @@ +var searchData= +[ + ['tiledtex',['tiledtex',['../struct_g_r_r_l_i_b__tex_img.html#afc6d24924b4d32b4eea655863163f49a',1,'GRRLIB_texImg']]], + ['tileh',['tileh',['../struct_g_r_r_l_i_b__tex_img.html#a5400cc929e97692c920eb3698874c5dc',1,'GRRLIB_texImg']]], + ['tilestart',['tilestart',['../struct_g_r_r_l_i_b__tex_img.html#acc457a106f497ddec55267ee844f2e9e',1,'GRRLIB_texImg']]], + ['tilew',['tilew',['../struct_g_r_r_l_i_b__tex_img.html#ac2701a0d10bf9cc67d3f9a5008602690',1,'GRRLIB_texImg']]], + ['tracking',['tracking',['../struct_g_r_r_l_i_b__bytemap_font.html#ac793001b64a49cc9cf9b55a4d03e73d7',1,'GRRLIB_bytemapFont']]] +]; diff --git a/search/variables_d.html b/search/variables_d.html new file mode 100644 index 0000000..b9381e9 --- /dev/null +++ b/search/variables_d.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_d.js b/search/variables_d.js new file mode 100644 index 0000000..84f7cf2 --- /dev/null +++ b/search/variables_d.js @@ -0,0 +1,4 @@ +var searchData= +[ + ['version',['version',['../struct_g_r_r_l_i_b__bytemap_font.html#ab0e86ae6d36a2d67e39cafafed1fdf7f',1,'GRRLIB_bytemapFont']]] +]; diff --git a/search/variables_e.html b/search/variables_e.html new file mode 100644 index 0000000..375ad70 --- /dev/null +++ b/search/variables_e.html @@ -0,0 +1,26 @@ + + + + + + + + + +
    +
    Loading...
    +
    + +
    Searching...
    +
    No Matches
    + +
    + + diff --git a/search/variables_e.js b/search/variables_e.js new file mode 100644 index 0000000..6025992 --- /dev/null +++ b/search/variables_e.js @@ -0,0 +1,5 @@ +var searchData= +[ + ['w',['w',['../struct_g_r_r_l_i_b__tex_img.html#a40880d757ddcc5c7fc8f7a4f19e1b442',1,'GRRLIB_texImg']]], + ['width',['width',['../struct_g_r_r_l_i_b__bytemap_char.html#a2c1d87ba049f447519d1a92e6550f822',1,'GRRLIB_bytemapChar']]] +]; diff --git a/splitbar.png b/splitbar.png new file mode 100644 index 0000000000000000000000000000000000000000..fe895f2c58179b471a22d8320b39a4bd7312ec8e GIT binary patch literal 314 zcmeAS@N?(olHy`uVBq!ia0vp^Yzz!63>-{AmhX=Jf(#6djGiuzAr*{o?=JLmPLyc> z_*`QK&+BH@jWrYJ7>r6%keRM@)Qyv8R=enp0jiI>aWlGyB58O zFVR20d+y`K7vDw(hJF3;>dD*3-?v=<8M)@x|EEGLnJsniYK!2U1 Y!`|5biEc?d1`HDhPgg&ebxsLQ02F6;9RL6T literal 0 HcmV?d00001 diff --git a/struct_g_r_r_l_i_b___font.html b/struct_g_r_r_l_i_b___font.html new file mode 100644 index 0000000..fd09679 --- /dev/null +++ b/struct_g_r_r_l_i_b___font.html @@ -0,0 +1,129 @@ + + + + + + + +GRRLIB: GRRLIB_Font Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GRRLIB_Font Struct Reference
    +
    +
    + +

    Structure to hold the TTF information. + More...

    + +

    #include <grrlib.h>

    + + + + + + + + +

    +Data Fields

    void * face
     A TTF face object. More...
     
    bool kerning
     true whenever a face object contains kerning data that can be accessed with FT_Get_Kerning. More...
     
    +

    Detailed Description

    +

    Structure to hold the TTF information.

    +

    Field Documentation

    + +

    ◆ face

    + +
    +
    + + + + +
    void* face
    +
    + +

    A TTF face object.

    + +
    +
    + +

    ◆ kerning

    + +
    +
    + + + + +
    bool kerning
    +
    + +

    true whenever a face object contains kerning data that can be accessed with FT_Get_Kerning.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/struct_g_r_r_l_i_b__bytemap_char.html b/struct_g_r_r_l_i_b__bytemap_char.html new file mode 100644 index 0000000..f88f486 --- /dev/null +++ b/struct_g_r_r_l_i_b__bytemap_char.html @@ -0,0 +1,205 @@ + + + + + + + +GRRLIB: GRRLIB_bytemapChar Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GRRLIB_bytemapChar Struct Reference
    +
    +
    + +

    Structure to hold the bytemap character information. + More...

    + +

    #include <grrlib.h>

    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    u8 width
     Character width. More...
     
    u8 height
     Character height. More...
     
    s8 relx
     Horizontal offset relative to cursor (-128 to 127). More...
     
    s8 rely
     Vertical offset relative to cursor (-128 to 127). More...
     
    u8 kerning
     Kerning (Horizontal cursor shift after drawing the character). More...
     
    u8 * data
     Character data (uncompressed, 8 bits per pixel). More...
     
    +

    Detailed Description

    +

    Structure to hold the bytemap character information.

    +

    Field Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    u8* data
    +
    + +

    Character data (uncompressed, 8 bits per pixel).

    + +
    +
    + +

    ◆ height

    + +
    +
    + + + + +
    u8 height
    +
    + +

    Character height.

    + +
    +
    + +

    ◆ kerning

    + +
    +
    + + + + +
    u8 kerning
    +
    + +

    Kerning (Horizontal cursor shift after drawing the character).

    + +
    +
    + +

    ◆ relx

    + +
    +
    + + + + +
    s8 relx
    +
    + +

    Horizontal offset relative to cursor (-128 to 127).

    + +
    +
    + +

    ◆ rely

    + +
    +
    + + + + +
    s8 rely
    +
    + +

    Vertical offset relative to cursor (-128 to 127).

    + +
    +
    + +

    ◆ width

    + +
    +
    + + + + +
    u8 width
    +
    + +

    Character width.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/struct_g_r_r_l_i_b__bytemap_font.html b/struct_g_r_r_l_i_b__bytemap_font.html new file mode 100644 index 0000000..218de15 --- /dev/null +++ b/struct_g_r_r_l_i_b__bytemap_font.html @@ -0,0 +1,213 @@ + + + + + + + +GRRLIB: GRRLIB_bytemapFont Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GRRLIB_bytemapFont Struct Reference
    +
    +
    + +

    Structure to hold the bytemap font information. + More...

    + +

    #include <grrlib.h>

    +
    +Collaboration diagram for GRRLIB_bytemapFont:
    +
    +
    Collaboration graph
    + + + +
    + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    char * name
     Font name. More...
     
    u32 * palette
     Font palette. More...
     
    u16 nbChar
     Number of characters in font. More...
     
    u8 version
     Version. More...
     
    s8 tracking
     Tracking (Add-space after each char) (-128 to 127). More...
     
    GRRLIB_bytemapChar charDef [256]
     Array of bitmap characters. More...
     
    +

    Detailed Description

    +

    Structure to hold the bytemap font information.

    +

    Field Documentation

    + +

    ◆ charDef

    + +
    +
    + + + + +
    GRRLIB_bytemapChar charDef[256]
    +
    + +

    Array of bitmap characters.

    + +
    +
    + +

    ◆ name

    + +
    +
    + + + + +
    char* name
    +
    + +

    Font name.

    + +
    +
    + +

    ◆ nbChar

    + +
    +
    + + + + +
    u16 nbChar
    +
    + +

    Number of characters in font.

    + +
    +
    + +

    ◆ palette

    + +
    +
    + + + + +
    u32* palette
    +
    + +

    Font palette.

    + +
    +
    + +

    ◆ tracking

    + +
    +
    + + + + +
    s8 tracking
    +
    + +

    Tracking (Add-space after each char) (-128 to 127).

    + +
    +
    + +

    ◆ version

    + +
    +
    + + + + +
    u8 version
    +
    + +

    Version.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/struct_g_r_r_l_i_b__bytemap_font__coll__graph.map b/struct_g_r_r_l_i_b__bytemap_font__coll__graph.map new file mode 100644 index 0000000..fa29649 --- /dev/null +++ b/struct_g_r_r_l_i_b__bytemap_font__coll__graph.map @@ -0,0 +1,3 @@ + + + diff --git a/struct_g_r_r_l_i_b__bytemap_font__coll__graph.md5 b/struct_g_r_r_l_i_b__bytemap_font__coll__graph.md5 new file mode 100644 index 0000000..343327d --- /dev/null +++ b/struct_g_r_r_l_i_b__bytemap_font__coll__graph.md5 @@ -0,0 +1 @@ +a1815f7fe81cf69080e4870ed89a6ef5 \ No newline at end of file diff --git a/struct_g_r_r_l_i_b__bytemap_font__coll__graph.png b/struct_g_r_r_l_i_b__bytemap_font__coll__graph.png new file mode 100644 index 0000000000000000000000000000000000000000..2c81b5e40ad5a466e99aa92bf868a61aa99900ac GIT binary patch literal 4331 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 + + + + + + +GRRLIB: GRRLIB_drawSettings Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GRRLIB_drawSettings Struct Reference
    +
    +
    + +

    Structure to hold the current drawing settings. + More...

    + +

    #include <grrlib.h>

    + + + + + + + + + + + +

    +Data Fields

    bool antialias
     AntiAlias is enabled when set to true. More...
     
    GRRLIB_blendMode blend
     Blending Mode. More...
     
    int lights
     Active lights. More...
     
    +

    Detailed Description

    +

    Structure to hold the current drawing settings.

    +

    Field Documentation

    + +

    ◆ antialias

    + +
    +
    + + + + +
    bool antialias
    +
    + +

    AntiAlias is enabled when set to true.

    + +
    +
    + +

    ◆ blend

    + +
    +
    + + + + +
    GRRLIB_blendMode blend
    +
    + +

    Blending Mode.

    + +
    +
    + +

    ◆ lights

    + +
    +
    + + + + +
    int lights
    +
    + +

    Active lights.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/struct_g_r_r_l_i_b__tex_img.html b/struct_g_r_r_l_i_b__tex_img.html new file mode 100644 index 0000000..efd1516 --- /dev/null +++ b/struct_g_r_r_l_i_b__tex_img.html @@ -0,0 +1,376 @@ + + + + + + + +GRRLIB: GRRLIB_texImg Struct Reference + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + + +
    +
    + + +
    + +
    + +
    +
    + +
    +
    GRRLIB_texImg Struct Reference
    +
    +
    + +

    Structure to hold the texture information. + More...

    + +

    #include <grrlib.h>

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    +Data Fields

    u32 w
     The width of the texture in pixels. More...
     
    u32 h
     The height of the texture in pixels. More...
     
    int handlex
     Texture handle x. More...
     
    int handley
     Texture handle y. More...
     
    int offsetx
     Texture offset x. More...
     
    int offsety
     Texture offset y. More...
     
    bool tiledtex
     Texture is tiled if set to true. More...
     
    u32 tilew
     The width of one tile in pixels. More...
     
    u32 tileh
     The height of one tile in pixels. More...
     
    u32 nbtilew
     Number of tiles for the x axis. More...
     
    u32 nbtileh
     Number of tiles for the y axis. More...
     
    u32 tilestart
     Offset to tile starting position. More...
     
    f32 ofnormaltexx
     Offset of normalized texture on x. More...
     
    f32 ofnormaltexy
     Offset of normalized texture on y. More...
     
    void * data
     Pointer to the texture data. More...
     
    +

    Detailed Description

    +

    Structure to hold the texture information.

    +

    Field Documentation

    + +

    ◆ data

    + +
    +
    + + + + +
    void* data
    +
    + +

    Pointer to the texture data.

    + +
    +
    + +

    ◆ h

    + +
    +
    + + + + +
    u32 h
    +
    + +

    The height of the texture in pixels.

    + +
    +
    + +

    ◆ handlex

    + +
    +
    + + + + +
    int handlex
    +
    + +

    Texture handle x.

    + +
    +
    + +

    ◆ handley

    + +
    +
    + + + + +
    int handley
    +
    + +

    Texture handle y.

    + +
    +
    + +

    ◆ nbtileh

    + +
    +
    + + + + +
    u32 nbtileh
    +
    + +

    Number of tiles for the y axis.

    + +
    +
    + +

    ◆ nbtilew

    + +
    +
    + + + + +
    u32 nbtilew
    +
    + +

    Number of tiles for the x axis.

    + +
    +
    + +

    ◆ offsetx

    + +
    +
    + + + + +
    int offsetx
    +
    + +

    Texture offset x.

    + +
    +
    + +

    ◆ offsety

    + +
    +
    + + + + +
    int offsety
    +
    + +

    Texture offset y.

    + +
    +
    + +

    ◆ ofnormaltexx

    + +
    +
    + + + + +
    f32 ofnormaltexx
    +
    + +

    Offset of normalized texture on x.

    + +
    +
    + +

    ◆ ofnormaltexy

    + +
    +
    + + + + +
    f32 ofnormaltexy
    +
    + +

    Offset of normalized texture on y.

    + +
    +
    + +

    ◆ tiledtex

    + +
    +
    + + + + +
    bool tiledtex
    +
    + +

    Texture is tiled if set to true.

    + +
    +
    + +

    ◆ tileh

    + +
    +
    + + + + +
    u32 tileh
    +
    + +

    The height of one tile in pixels.

    + +
    +
    + +

    ◆ tilestart

    + +
    +
    + + + + +
    u32 tilestart
    +
    + +

    Offset to tile starting position.

    + +
    +
    + +

    ◆ tilew

    + +
    +
    + + + + +
    u32 tilew
    +
    + +

    The width of one tile in pixels.

    + +
    +
    + +

    ◆ w

    + +
    +
    + + + + +
    u32 w
    +
    + +

    The width of the texture in pixels.

    + +
    +
    +
    The documentation for this struct was generated from the following file: +
    + + + + diff --git a/sync_off.png b/sync_off.png new file mode 100644 index 0000000000000000000000000000000000000000..3b443fc62892114406e3d399421b2a881b897acc GIT binary patch literal 853 zcmV-b1FHOqP)oT|#XixUYy%lpuf3i8{fX!o zUyDD0jOrAiT^tq>fLSOOABs-#u{dV^F$b{L9&!2=9&RmV;;8s^x&UqB$PCj4FdKbh zoB1WTskPUPu05XzFbA}=KZ-GP1fPpAfSs>6AHb12UlR%-i&uOlTpFNS7{jm@mkU1V zh`nrXr~+^lsV-s1dkZOaI|kYyVj3WBpPCY{n~yd%u%e+d=f%`N0FItMPtdgBb@py; zq@v6NVArhyTC7)ULw-Jy8y42S1~4n(3LkrW8mW(F-4oXUP3E`e#g**YyqI7h-J2zK zK{m9##m4ri!7N>CqQqCcnI3hqo1I;Yh&QLNY4T`*ptiQGozK>FF$!$+84Z`xwmeMh zJ0WT+OH$WYFALEaGj2_l+#DC3t7_S`vHpSivNeFbP6+r50cO8iu)`7i%Z4BTPh@_m3Tk!nAm^)5Bqnr%Ov|Baunj#&RPtRuK& z4RGz|D5HNrW83-#ydk}tVKJrNmyYt-sTxLGlJY5nc&Re zU4SgHNPx8~Yxwr$bsju?4q&%T1874xxzq+_%?h8_ofw~(bld=o3iC)LUNR*BY%c0y zWd_jX{Y8`l%z+ol1$@Qa?Cy!(0CVIEeYpKZ`(9{z>3$CIe;pJDQk$m3p}$>xBm4lb zKo{4S)`wdU9Ba9jJbVJ0C=SOefZe%d$8=2r={nu<_^a3~>c#t_U6dye5)JrR(_a^E f@}b6j1K9lwFJq@>o)+Ry00000NkvXXu0mjfWa5j* literal 0 HcmV?d00001 diff --git a/sync_on.png b/sync_on.png new file mode 100644 index 0000000000000000000000000000000000000000..e08320fb64e6fa33b573005ed6d8fe294e19db76 GIT binary patch literal 845 zcmV-T1G4;yP)Y;xxyHF2B5Wzm| zOOGupOTn@c(JmBOl)e;XMNnZuiTJP>rM8<|Q`7I_))aP?*T)ow&n59{}X4$3Goat zgjs?*aasfbrokzG5cT4K=uG`E14xZl@z)F={P0Y^?$4t z>v!teRnNZym<6h{7sLyF1V0HsfEl+l6TrZpsfr1}luH~F7L}ktXu|*uVX^RG$L0`K zWs3j|0tIvVe(N%_?2{(iCPFGf#B6Hjy6o&}D$A%W%jfO8_W%ZO#-mh}EM$LMn7joJ z05dHr!5Y92g+31l<%i1(=L1a1pXX+OYnalY>31V4K}BjyRe3)9n#;-cCVRD_IG1fT zOKGeNY8q;TL@K{dj@D^scf&VCs*-Jb>8b>|`b*osv52-!A?BpbYtTQBns5EAU**$m zSnVSm(teh>tQi*S*A>#ySc=n;`BHz`DuG4&g4Kf8lLhca+zvZ7t7RflD6-i-mcK=M z!=^P$*u2)bkY5asG4gsss!Hn%u~>}kIW`vMs%lJLH+u*9<4PaV_c6U`KqWXQH%+Nu zTv41O(^ZVi@qhjQdG!fbZw&y+2o!iYymO^?ud3{P*HdoX83YV*Uu_HB=?U&W9%AU# z80}k1SS-CXTU7dcQlsm<^oYLxVSseqY6NO}dc`Nj?8vrhNuCdm@^{a3AQ_>6myOj+ z`1RsLUXF|dm|3k7s2jD(B{rzE>WI2scH8i1;=O5Cc9xB3^aJk%fQjqsu+kH#0=_5a z0nCE8@dbQa-|YIuUVvG0L_IwHMEhOj$Mj4Uq05 X8=0q~qBNan00000NkvXXu0mjfptF>5 literal 0 HcmV?d00001 diff --git a/tab_a.png b/tab_a.png new file mode 100644 index 0000000000000000000000000000000000000000..3b725c41c5a527a3a3e40097077d0e206a681247 GIT binary patch literal 142 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QlXwMjv*C{Z|8b*H5dputLHD# z=<0|*y7z(Vor?d;H&?EG&cXR}?!j-Lm&u1OOI7AIF5&c)RFE;&p0MYK>*Kl@eiymD r@|NpwKX@^z+;{u_Z~trSBfrMKa%3`zocFjEXaR$#tDnm{r-UW|TZ1%4 literal 0 HcmV?d00001 diff --git a/tab_b.png b/tab_b.png new file mode 100644 index 0000000000000000000000000000000000000000..e2b4a8638cb3496a016eaed9e16ffc12846dea18 GIT binary patch literal 169 zcmeAS@N?(olHy`uVBq!ia0vp^j6kfy!2~3aiye;!QU#tajv*C{Z}0l@H7kg?K0Lnr z!j&C6_(~HV9oQ0Pa6x{-v0AGV_E?vLn=ZI-;YrdjIl`U`uzuDWSP?o#Dmo{%SgM#oan kX~E1%D-|#H#QbHoIja2U-MgvsK&LQxy85}Sb4q9e0Efg%P5=M^ literal 0 HcmV?d00001 diff --git a/tabs.css b/tabs.css new file mode 100644 index 0000000..bbde11e --- /dev/null +++ b/tabs.css @@ -0,0 +1 @@ +.sm{position:relative;z-index:9999}.sm,.sm ul,.sm li{display:block;list-style:none;margin:0;padding:0;line-height:normal;direction:ltr;text-align:left;-webkit-tap-highlight-color:transparent}.sm-rtl,.sm-rtl ul,.sm-rtl li{direction:rtl;text-align:right}.sm>li>h1,.sm>li>h2,.sm>li>h3,.sm>li>h4,.sm>li>h5,.sm>li>h6{margin:0;padding:0}.sm ul{display:none}.sm li,.sm a{position:relative}.sm a{display:block}.sm a.disabled{cursor:not-allowed}.sm:after{content:"\00a0";display:block;height:0;font:0px/0 serif;clear:both;visibility:hidden;overflow:hidden}.sm,.sm *,.sm *:before,.sm *:after{-moz-box-sizing:border-box;-webkit-box-sizing:border-box;box-sizing:border-box}.sm-dox{background-image:url("tab_b.png")}.sm-dox a,.sm-dox a:focus,.sm-dox a:hover,.sm-dox a:active{padding:0px 12px;padding-right:43px;font-family:"Lucida Grande","Geneva","Helvetica",Arial,sans-serif;font-size:13px;font-weight:bold;line-height:36px;text-decoration:none;text-shadow:0px 1px 1px rgba(255,255,255,0.9);color:#283A5D;outline:none}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a.current{color:#D23600}.sm-dox a.disabled{color:#bbb}.sm-dox a span.sub-arrow{position:absolute;top:50%;margin-top:-14px;left:auto;right:3px;width:28px;height:28px;overflow:hidden;font:bold 12px/28px monospace !important;text-align:center;text-shadow:none;background:rgba(255,255,255,0.5);border-radius:5px}.sm-dox a.highlighted span.sub-arrow:before{display:block;content:'-'}.sm-dox>li:first-child>a,.sm-dox>li:first-child>:not(ul) a{border-radius:5px 5px 0 0}.sm-dox>li:last-child>a,.sm-dox>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul{border-radius:0 0 5px 5px}.sm-dox>li:last-child>a.highlighted,.sm-dox>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>a.highlighted,.sm-dox>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>ul>li:last-child>*:not(ul) a.highlighted{border-radius:0}.sm-dox ul{background:rgba(162,162,162,0.1)}.sm-dox ul a,.sm-dox ul a:focus,.sm-dox ul a:hover,.sm-dox ul a:active{font-size:12px;border-left:8px solid transparent;line-height:36px;text-shadow:none;background-color:white;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul ul a,.sm-dox ul ul a:hover,.sm-dox ul ul a:focus,.sm-dox ul ul a:active{border-left:16px solid transparent}.sm-dox ul ul ul a,.sm-dox ul ul ul a:hover,.sm-dox ul ul ul a:focus,.sm-dox ul ul ul a:active{border-left:24px solid transparent}.sm-dox ul ul ul ul a,.sm-dox ul ul ul ul a:hover,.sm-dox ul ul ul ul a:focus,.sm-dox ul ul ul ul a:active{border-left:32px solid transparent}.sm-dox ul ul ul ul ul a,.sm-dox ul ul ul ul ul a:hover,.sm-dox ul ul ul ul ul a:focus,.sm-dox ul ul ul ul ul a:active{border-left:40px solid transparent}@media (min-width: 768px){.sm-dox ul{position:absolute;width:12em}.sm-dox li{float:left}.sm-dox.sm-rtl li{float:right}.sm-dox ul li,.sm-dox.sm-rtl ul li,.sm-dox.sm-vertical li{float:none}.sm-dox a{white-space:nowrap}.sm-dox ul a,.sm-dox.sm-vertical a{white-space:normal}.sm-dox .sm-nowrap>li>a,.sm-dox .sm-nowrap>li>:not(ul) a{white-space:nowrap}.sm-dox{padding:0 10px;background-image:url("tab_b.png");line-height:36px}.sm-dox a span.sub-arrow{top:50%;margin-top:-2px;right:12px;width:0;height:0;border-width:4px;border-style:solid dashed dashed dashed;border-color:#283A5D transparent transparent transparent;background:transparent;border-radius:0}.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted{padding:0px 12px;background-image:url("tab_s.png");background-repeat:no-repeat;background-position:right;border-radius:0 !important}.sm-dox a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox a:hover span.sub-arrow{border-color:#fff transparent transparent transparent}.sm-dox a.has-submenu{padding-right:24px}.sm-dox li{border-top:0}.sm-dox>li>ul:before,.sm-dox>li>ul:after{content:'';position:absolute;top:-18px;left:30px;width:0;height:0;overflow:hidden;border-width:9px;border-style:dashed dashed solid dashed;border-color:transparent transparent #bbb transparent}.sm-dox>li>ul:after{top:-16px;left:31px;border-width:8px;border-color:transparent transparent #fff transparent}.sm-dox ul{border:1px solid #bbb;padding:5px 0;background:#fff;border-radius:5px !important;box-shadow:0 5px 9px rgba(0,0,0,0.2)}.sm-dox ul a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-color:transparent transparent transparent #555;border-style:dashed dashed dashed solid}.sm-dox ul a,.sm-dox ul a:hover,.sm-dox ul a:focus,.sm-dox ul a:active,.sm-dox ul a.highlighted{color:#555;background-image:none;border:0 !important;color:#555;background-image:none}.sm-dox ul a:hover{background-image:url("tab_a.png");background-repeat:repeat-x;color:#fff;text-shadow:0px 1px 1px #000}.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #fff}.sm-dox span.scroll-up,.sm-dox span.scroll-down{position:absolute;display:none;visibility:hidden;overflow:hidden;background:#fff;height:36px}.sm-dox span.scroll-up:hover,.sm-dox span.scroll-down:hover{background:#eee}.sm-dox span.scroll-up:hover span.scroll-up-arrow,.sm-dox span.scroll-up:hover span.scroll-down-arrow{border-color:transparent transparent #D23600 transparent}.sm-dox span.scroll-down:hover span.scroll-down-arrow{border-color:#D23600 transparent transparent transparent}.sm-dox span.scroll-up-arrow,.sm-dox span.scroll-down-arrow{position:absolute;top:0;left:50%;margin-left:-6px;width:0;height:0;overflow:hidden;border-width:6px;border-style:dashed dashed solid dashed;border-color:transparent transparent #555 transparent}.sm-dox span.scroll-down-arrow{top:8px;border-style:solid dashed dashed dashed;border-color:#555 transparent transparent transparent}.sm-dox.sm-rtl a.has-submenu{padding-right:12px;padding-left:24px}.sm-dox.sm-rtl a span.sub-arrow{right:auto;left:12px}.sm-dox.sm-rtl.sm-vertical a.has-submenu{padding:10px 20px}.sm-dox.sm-rtl.sm-vertical a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-rtl>li>ul:before{left:auto;right:30px}.sm-dox.sm-rtl>li>ul:after{left:auto;right:31px}.sm-dox.sm-rtl ul a.has-submenu{padding:10px 20px !important}.sm-dox.sm-rtl ul a span.sub-arrow{right:auto;left:8px;border-style:dashed solid dashed dashed;border-color:transparent #555 transparent transparent}.sm-dox.sm-vertical{padding:10px 0;border-radius:5px}.sm-dox.sm-vertical a{padding:10px 20px}.sm-dox.sm-vertical a:hover,.sm-dox.sm-vertical a:focus,.sm-dox.sm-vertical a:active,.sm-dox.sm-vertical a.highlighted{background:#fff}.sm-dox.sm-vertical a.disabled{background-image:url("tab_b.png")}.sm-dox.sm-vertical a span.sub-arrow{right:8px;top:50%;margin-top:-5px;border-width:5px;border-style:dashed dashed dashed solid;border-color:transparent transparent transparent #555}.sm-dox.sm-vertical>li>ul:before,.sm-dox.sm-vertical>li>ul:after{display:none}.sm-dox.sm-vertical ul a{padding:10px 20px}.sm-dox.sm-vertical ul a:hover,.sm-dox.sm-vertical ul a:focus,.sm-dox.sm-vertical ul a:active,.sm-dox.sm-vertical ul a.highlighted{background:#eee}.sm-dox.sm-vertical ul a.disabled{background:#fff}} diff --git a/template_2source_2main_8c-example.html b/template_2source_2main_8c-example.html new file mode 100644 index 0000000..b7ca97f --- /dev/null +++ b/template_2source_2main_8c-example.html @@ -0,0 +1,75 @@ + + + + + + + +GRRLIB: template/source/main.c + + + + + + + + + +
    +
    + + + + + + +
    +
    GRRLIB +  4.4.0 +
    +
    +
    + + + + + + + +
    + +
    +
    + + +
    + +
    + +
    +
    +
    template/source/main.c
    +
    +
    +

    This example shows the minimum code required to use GRRLIB.It could be used as a template to start a new project. More elaborate examples can be found inside the examples folder.

    +
    /*===========================================
    GRRLIB (GX Version)
    - Template Code -
    Minimum Code To Use GRRLIB
    ============================================*/
    #include <grrlib.h>
    #include <stdlib.h>
    #include <wiiuse/wpad.h>
    int main(int argc, char **argv) {
    // Initialise the Graphics & Video subsystem
    // Initialise the Wiimotes
    WPAD_Init();
    // Loop forever
    while(1) {
    WPAD_ScanPads(); // Scan the Wiimotes
    // If [HOME] was pressed on the first Wiimote, break out of the loop
    if (WPAD_ButtonsDown(0) & WPAD_BUTTON_HOME) break;
    // ---------------------------------------------------------------------
    // Place your drawing code here
    // ---------------------------------------------------------------------
    GRRLIB_Render(); // Render the frame buffer to the TV
    }
    GRRLIB_Exit(); // Be a good boy, clear the memory allocated by GRRLIB
    exit(0); // Use exit() to exit a program, do not use 'return' from main()
    }
    + + + +