Main Page   Alphabetical List   Data Structures   File List   Data Fields   Globals  

Skin.h

Go to the documentation of this file.
00001 /*
00002  *    gui - [gega user interface] the flexible solution for user interface problems
00003  *    Copyright (C) 2002  Gergely Gati
00004  *
00005  *    This program is free software; you can redistribute it and/or modify
00006  *    it under the terms of the GNU General Public License as published by
00007  *    the Free Software Foundation; version 2 of the License.
00008  *
00009  *    This program is distributed in the hope that it will be useful,
00010  *    but WITHOUT ANY WARRANTY; without even the implied warranty of
00011  *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00012  *    GNU General Public License for more details.
00013  *
00014  *    You should have received a copy of the GNU General Public License
00015  *    along with this program; if not, write to the Free Software
00016  *    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00017  *
00018  *    Gergely Gati
00019  *      email:           g.gati@freemail.hu
00020  *      AIM screenname:  GatiGergely
00021  *      ICQ number:      93131690
00022  *
00023  */
00024 #ifndef __SKIN_H
00025 #define __SKIN_H
00026 
00027 #include "Bases.h"
00028 #include "Gui.h"
00029 #include "Tag.h"
00030 
00031 
00032 //#define TAG_SKIN_SKINCLASS         (TAG_USER+100)
00033 #define TAG_SKIN_NAME              ((TAG_USER+101)|TAGT_STRING)
00034 #define TAG_SKIN_MODULE            (TAG_USER+102)
00035 #define TAG_SKIN_RECOGNIZE         (TAG_USER+103)
00036 #define TAG_SKIN_CREATESKIN        (TAG_USER+104)
00037 #define TAG_SKIN_DELETESKIN        (TAG_USER+105)
00038 #define TAG_SKIN_RENDERBEHIND      (TAG_USER+106)
00039 #define TAG_SKIN_RENDEROVER        (TAG_USER+107)
00040 #define TAG_SKIN_RENDERBACKGROUND  (TAG_USER+108)
00041 #define TAG_SKIN_RENDERCUSTOM      (TAG_USER+109)
00042 #define TAG_SKIN_GETEXTENT         (TAG_USER+110)
00043 #define TAG_SKIN_GETINNERRECT      (TAG_USER+111)
00044 #define TAG_SKIN_FILLCOLORTABLE    (TAG_USER+112)
00045 #define TAG_SKIN_FILLGADGETINFO    (TAG_USER+113)
00046 #define TAG_SKIN_GETFONT           (TAG_USER+114)
00047 #define TAG_SKIN_LOADSKIN          (TAG_USER+115)
00048 #define TAG_SKIN_UNLOADSKIN        (TAG_USER+116)
00049 #define TAG_SKIN_GETCUSTOMTAGLIST  (TAG_USER+117)
00050 
00051 
00052 //Enum for calling BEGIN
00053 enum skin_functions
00054 {
00055   SKIN_REGISTERSKIN=SKIN_FUNCBASE,
00056   SKIN_FUNC_DONE
00057 };
00058 //Enum for calling END
00059 
00060 
00061 u32 skin_CallTL(int function, tag *taglist);
00062 u32 skin_Call(int function, u32 firsttag, ...);
00063 
00064 #ifdef __SKIN_MODULE
00065   typedef struct
00066   {
00067     skin_Class_t *skinclass;
00068     char *path;
00069   } skin_Common_t;
00070 #endif
00071 
00072 //system only
00073 u32 skin_RegisterSkin(u32 firsttag, ...);
00074 u32 skin_RegisterSkinTL(tag *taglist);
00075 
00076 int skin_Init(void);
00077 void skin_CleanUp(void);
00078 
00079 Skin_t *skin_CreateSkin(gui_App_t *app, char *skinname);
00080 void skin_DeleteSkin(Skin_t *skin);
00081 
00082 int skin_LoadSkin(Skin_t *skin, char *class);
00083 int skin_UnloadSkin(Skin_t *skin, u32 class_id);
00084 
00085 int skin_RenderBehind(Skin_t *skin, Gadget_t *gad, Rect_t *rect, u32 state);
00086 int skin_RenderOver(Skin_t *skin, Gadget_t *gad, Rect_t *rect, u32 state);
00087 int skin_RenderBackground(Skin_t *skin, Gadget_t *gad, Rect_t *rect, u32 state);
00088 int skin_RenderCustom(Skin_t *skin, Gadget_t *gad, Rect_t *rect, int custom);
00089 int skin_GetExtent(Skin_t *skin, Gadget_t *gad, Extent_t *ext, Extent_t *outer);
00090 int skin_GetInnerRect(Skin_t *skin, Gadget_t *gad, Rect_t *rect, Rect_t *inner);
00091 int skin_FillColorTable(Skin_t *skin, Gadget_t *gad, int state);
00092 int skin_FillGadgetInfo(Skin_t *skin, Gadget_t *gad);
00093 int skin_GetFont(Skin_t *skin, Gadget_t *gad);
00094 tag *skin_GetCustomTaglist(Skin_t *skin, Gadget_t *gad);
00095 char *skin_GetWindowDecorationName(Skin_t *skin);
00096 
00097 #endif

Generated on Tue Jan 7 12:11:23 2003 for THEGUI by doxygen1.2.14 written by Dimitri van Heesch, © 1997-2002