ui_internal.h

Go to the documentation of this file.
00001 
00007 /*
00008 Copyright (C) 2002-2010 UFO: Alien Invasion.
00009 
00010 This program is free software; you can redistribute it and/or
00011 modify it under the terms of the GNU General Public License
00012 as published by the Free Software Foundation; either version 2
00013 of the License, or (at your option) any later version.
00014 
00015 This program is distributed in the hope that it will be useful,
00016 but WITHOUT ANY WARRANTY; without even the implied warranty of
00017 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
00018 
00019 See the GNU General Public License for more details.
00020 
00021 You should have received a copy of the GNU General Public License
00022 along with this program; if not, write to the Free Software
00023 Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
00024 
00025 */
00026 
00027 #ifndef CLIENT_UI_UI_INTERNAL_H
00028 #define CLIENT_UI_UI_INTERNAL_H
00029 
00030 #define UI_MAX_WINDOWS          128
00031 #define UI_MAX_COMPONENTS       64
00032 #define UI_MAX_WINDOWSTACK      32
00033 #define UI_MAX_ACTIONS          2*8192
00034 #define UI_MAX_VARIABLESTACK    64
00035 
00036 #include "node/ui_node_window.h"
00037 #include "node/ui_node_model.h"
00038 #include "ui_actions.h"
00039 #include "ui_nodes.h"
00040 #include "ui_icon.h"
00041 #include "ui_input.h"
00042 #include "ui_expression.h"
00043 #include "ui_data.h"
00044 
00048 typedef struct uiGlobal_s {
00049 
00058     uiSharedData_t sharedData[UI_MAX_DATAID];
00059 
00063     uiValue_t variableStack[UI_MAX_VARIABLESTACK];
00064 
00065     int numNodes;
00066 
00067     uiNode_t* windows[UI_MAX_WINDOWS];
00068     int numWindows;
00069 
00070     uiNode_t* components[UI_MAX_COMPONENTS];
00071     int numComponents;
00072 
00073     byte *adata, *curadata;
00074     int adataize;
00075 
00076     uiNode_t *windowStack[UI_MAX_WINDOWSTACK];
00077     int windowStackPos;
00078 
00079     uiAction_t actions[UI_MAX_ACTIONS];
00080     int numActions;
00081 
00082     uiModel_t models[UI_MAX_MODELS];
00083     int numModels;
00084 
00085     uiExcludeRect_t excludeRect[UI_MAX_EXLUDERECTS];
00086     int numExcludeRect;
00087 
00088     uiIcon_t icons[UI_MAX_ICONS];
00089     int numIcons;
00090 
00091     uiKeyBinding_t keyBindings[UI_MAX_KEYBINDING];
00092     int numKeyBindings;
00093 
00094 } uiGlobal_t;
00095 
00096 extern uiGlobal_t ui_global;
00097 
00098 extern memPool_t *ui_sysPool;
00099 extern memPool_t *ui_dynStringPool;
00100 extern memPool_t *ui_dynPool;
00101 
00102 #endif

Generated by  doxygen 1.6.2