00001
00042 #ifndef INC_MI32_RGNMAN_H
00043 #define INC_MI32_RGNMAN_H
00044
00045 #ifndef INC_MI32_TRANS2DC_H
00046 #include <mi32/trans2dc.h>
00047 #endif
00048
00049 #if !defined(INC_MI32_XDEFNS_H) && defined(X_NATIVE)
00050 #include <mi32/xdefns.h>
00051 #endif
00052
00053 class REGION2D;
00054
00055 namespace RVC {
00056 class DESCRIPTOR;
00057 }
00058
00059 typedef void *RGNMANHANDLE;
00060
00061 struct MrgnManagerCallbackStruct {
00062 UINT32 reason;
00063 UINT32 ListNum;
00064 UINT32 NumRegions;
00065 TRANS2D_MAPGEN tparm;
00066 void *vmxt;
00067
00068 MrgnManagerCallbackStruct (
00069 ) {
00070 reason = ListNum = NumRegions = 0;
00071 vmxt = 0;
00072 }
00073
00074 };
00075
00076 #define MrgnCR_RegionAdded 0x00000001
00077 #define MrgnCR_RegionRemoved 0x00000002
00078 #define MrgnCR_SetTransParm 0x00000004
00079 #define MrgnCR_SetTransparm MrgnCR_SetTransParm
00080 #define MrgnCR_Stop 0x00000008
00081 #define MrgnCR_RegionSelected 0x00000010
00082
00083 #if defined(__cplusplus)
00084 extern "C" {
00085 #endif
00086
00094 void MrgnManagerAddCallback (
00095 RGNMANHANDLE vpdp,
00096 void (*CallbackFunc)(MrgnManagerCallbackStruct *, void *),
00097 void *udata,
00098 UINT32 reason
00099 );
00100
00102 int MrgnManagerAddRegion (
00103 RGNMANHANDLE vpdp,
00104 const RVC::DESCRIPTOR& Descriptor,
00105 REGION2D& region
00106 );
00107
00109 void MrgnManagerFormClearTool (
00110 Widget rmform
00111 );
00112
00114 void MrgnManagerFormBindTool (
00115 Widget rmform,
00116 void *vmxt
00117 );
00118
00119 #ifdef X_NATIVE
00120
00124 Widget MrgnManagerFormCreate (
00125 RGNMANHANDLE vpdp,
00126 Widget parent,
00127 UINT32 flags,
00128 Arg *formarg,
00129 int formn
00130 );
00131
00132 #endif
00133
00135 void MrgnManagerFormUpdateTool (
00136 Widget rmform
00137 );
00138
00140 int MrgnManagerFree (
00141 RGNMANHANDLE vpdp
00142 );
00143
00147 int MrgnManagerGetRegion (
00148 RGNMANHANDLE vpdp,
00149 INT32 ListNum,
00150 REGION2D& region
00151 );
00152
00154 void MrgnManagerGetRegionList (
00155 RGNMANHANDLE vpdp,
00156 RVC::OBJITEMLIST& list
00157 );
00158
00162 int MrgnManagerHasRegion (
00163 RGNMANHANDLE vpdp
00164 );
00165
00167 int MrgnManagerInit (
00168 RGNMANHANDLE *vpdp
00169 );
00170
00174 void MrgnManagerRemoveCallback (
00175 RGNMANHANDLE vpdp,
00176 void (*CallbackFunc)(MrgnManagerCallbackStruct *, void *),
00177 void *udata,
00178 UINT32 reason
00179 );
00180
00182 int MrgnManagerSave (
00183 RGNMANHANDLE vpdp,
00184 void *Widget,
00185 UINT32 flags
00186 );
00187
00188 #if defined(__cplusplus)
00189 }
00190 #endif
00191 #endif