You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
106 lines
4.1 KiB
C
106 lines
4.1 KiB
C
// 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<s_mode> 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_sRECT> llgfx_dirtyrects;// Shadow Liste der Dirtyrects
|
|
INCTYPE queue<llgfx_sRECT> 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
|
|
|
|
|