// File: llgfx_private.h // // G A M E.O.N.E - LOW LEVEL LIB V1.0 // Copyright (C) 2001 LEVEL ONE ENTERTAINMENT, // Licensed under the terms of LGPL. //:--------------------------------------------------------------------------- //:Description // // INCTYPE bestimmt ob die variablen als Externe reference oder ob sie concret // angelegt werden sollen // //:----------------------------------------------------------------------------- #if !defined(LLGFX_PRIVATE_INCLUDED) #define LLGFX_PRIVATE_INCLUDED //#define LLGFX_ENABLE_DIRTYRECT #if defined(IMPORT_LLGFX) #define INCTYPE extern #else #define INCTYPE #endif #include "llgfx.h" #include "llgfx_ctexture.h" #include "llmem.h" #include "llgfx_blit.h" #include "llfile.h" #include "llgfx_sstatic.h" #include "llgfx_sfont.h" #include "llqueue_squeue.h" //:> +-------------------------------+ //:>---------------------| GFX PRIVATE DECLARATION |---------------------- //:> +-------------------------------+ //:Class INCTYPE int sys_w; // Desktop Breite INCTYPE int sys_h; // Desktop Höhe INCTYPE int sys_bpp; // Desktop BitTiefe INCTYPE int sys_fullscreen_bpp; // fullscreen bpp INCTYPE int llgfx_displaywidth; // Breite des aktuellen Bildschirms INCTYPE int llgfx_displayheight; // Höhe des aktuellen Bildschirms INCTYPE int llgfx_bitspixel; // Pixel des aktuellen Bildschirms INCTYPE int llgfx_pixsize; // Anzahl bytes pro Pixel INCTYPE int llgfx_refreshrate; // Refreschrate des aktuellen Bildschirms INCTYPE int llgfx_frame_counter; // zählt die anzahl der llgfx_FlipScreen() Aufrufe INCTYPE int llgfx_displaychanged; // Erhöht sich bei jedem Bildschirmmodus Wechsel. z.B. Vollschirm<->Fenster INCTYPE bool llgfx_clientwindow; // true wenn von übergeordneter app aufgerufen INCTYPE bool llgfx_fullscreen; // True bei Vollschirmmodus INCTYPE s_surface llgfx_sGfxBuffer; // Bei jedem lock vom Backbuffer ist diese Struktur gültig INCTYPE queue llgfx_displaymodes; // Liste der unterstützten Displaymodes als Strings INCTYPE llgfx_sRECT llgfx_WD; // Clipbereich innerhalb des physischen Schirms (Windowed Display) //:----------------:[ FLAGS ];------------------------------------------- INCTYPE bool llgfx_enable_singlebuffer; INCTYPE bool llgfx_enable_stretchwindow; INCTYPE float llgfx_window_scale; INCTYPE TxU32 llgfx_clearcolor; //:----------------:[ GFX ARRAY ];---------------------------------------- INCTYPE int num_static_gfx; //Index der höhsten Grafiknummer + 1 INCTYPE int cnt_static_gfx; INCTYPE s_staticgfx * st_static_gfx; // Static GFX Array #define STATIC_RESERVED (4) #define GROW_ARRAY (20) INCTYPE TxU32 llgfx_palette[256]; // palette für 8bit modus //:-------------------:[ DIRTY RECT]:------------------------------------- INCTYPE squeue llgfx_dirtyrects;// Shadow Liste der Dirtyrects INCTYPE queue llgfx_free_dirtyrects;// Free Liste #if defined(LLGFX_ENABLE_DIRTYRECT) INCTYPE bool llgfx_dirtyrect_enabled; #endif //:---------------------:[ FONT ]:---------------------------------------- INCTYPE int llgfx_text_xpos; // XPos relativ zu llgfx_text_rect INCTYPE int llgfx_text_ypos; // YPos relativ zu llgfx_text_rect INCTYPE float llgfx_text_xspacing; // Abstand x INCTYPE float llgfx_text_yspacing; // Abstand y; INCTYPE int llgfx_text_format; // 0=Links, 1=Rechts, 2= mitte, 3=Block INCTYPE bool llgfx_text_wrap; // true=wrapx, false=clip INCTYPE s_rect llgfx_text_rect; // Ausgabe Rectangle INCTYPE int llgfx_tab_pos[8]; // tabpositionen in EM's (Durchschnitss breite) INCTYPE int llgfx_tab_chars[8]; // tabFüllzeichen INCTYPE s_font * llgfx_cur_font; // Zeiger auf Fontstruckt INCTYPE s_font st_sysfont; // 10x10 build in Font //:-------------------:[ Prototypes ]:------------------------------------ INCTYPE void llgfx_ResetVarPool(void); INCTYPE void llgfx_ResetGfxArray(void); INCTYPE void llgfx_ReleaseAll(void); INCTYPE llgfx_id llgfx_CreateGfxIdx(llgfx_id idx,int width,int height); INCTYPE llgfx_CTexture * llgfx_loadtexture( const char *szFile); INCTYPE void llgfx_RestoreTexture(llgfx_id idx); #endif // LLGFX_PRIVATE_INCLUDED