mirror of
https://github.com/1dot13/source.git
synced 2026-08-19 14:20:30 +02:00
- Reworked DropDown class. It is now much easier to use, the user has to implement only one function. See Documentation in DropDown.h.
- Added Helptexts to DropDown that will show when hovering over the main region of the DropDown. - Added 2 more nations. git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6521 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+40
-26
@@ -53,7 +53,7 @@ void Display2Line2ShadowVertical( UINT16 usStartX, UINT16 usStartY, UINT16 EndY,
|
||||
DisplaySmallLine(usStartX+3, usStartY, usStartX+3, EndY, usColor2);
|
||||
}
|
||||
|
||||
DropDown::DropDown()
|
||||
DropDownBase::DropDownBase()
|
||||
{
|
||||
// default settings
|
||||
musWidth = 100; // width of text field
|
||||
@@ -61,6 +61,8 @@ DropDown::DropDown()
|
||||
|
||||
mEntryVector.clear();
|
||||
|
||||
swprintf( mHelpText, L"" );
|
||||
|
||||
mSelectedEntry = 0;
|
||||
mFirstShownEntry = 0;
|
||||
|
||||
@@ -71,7 +73,7 @@ DropDown::DropDown()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::Init(UINT16 sX, UINT16 sY)
|
||||
DropDownBase::Init(UINT16 sX, UINT16 sY)
|
||||
{
|
||||
mfMouseRegionsCreated = FALSE;
|
||||
|
||||
@@ -99,7 +101,7 @@ DropDown::Init(UINT16 sX, UINT16 sY)
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::Init_Drop()
|
||||
DropDownBase::Init_Drop()
|
||||
{
|
||||
mfMouseRegionsCreated_Drop = FALSE;
|
||||
|
||||
@@ -115,7 +117,7 @@ DropDown::Init_Drop()
|
||||
void * gDropObj;
|
||||
|
||||
void
|
||||
DropDown::Create(UINT16 sX, UINT16 sY)
|
||||
DropDownBase::Create(UINT16 sX, UINT16 sY)
|
||||
{
|
||||
if( mfMouseRegionsCreated )
|
||||
{
|
||||
@@ -135,21 +137,24 @@ DropDown::Create(UINT16 sX, UINT16 sY)
|
||||
gDropObj = (void*) this;
|
||||
|
||||
MSYS_DefineRegion( &mSelectedOpenDropDownRegion, musStartX + musWidth, musStartY, musStartX + musWidth + musArrowWidth, musStartY + DEF_SCROLL_ARROW_HEIGHT, MSYS_PRIORITY_HIGH,
|
||||
CURSOR_WWW, MSYS_NO_CALLBACK, CallBackWrapper((void*) this, DROPDOWN_OPEN, &DropDown::Dummyfunc) );
|
||||
|
||||
CURSOR_WWW, MSYS_NO_CALLBACK, CallBackWrapper((void*) this, DROPDOWN_OPEN, &DropDownBase::Dummyfunc) );
|
||||
MSYS_AddRegion(&mSelectedOpenDropDownRegion);
|
||||
|
||||
//click anywhere on the screen to close the window( only when the drop down window is active)
|
||||
MSYS_DefineRegion( &mSelectedCloseDropDownRegion, LAPTOP_SCREEN_UL_X, LAPTOP_SCREEN_WEB_UL_Y , LAPTOP_SCREEN_LR_X, LAPTOP_SCREEN_WEB_LR_Y, MSYS_PRIORITY_HIGH-1,
|
||||
CURSOR_LAPTOP_SCREEN, MSYS_NO_CALLBACK, CallBackWrapper((void*) this, DROPDOWN_CLOSE, &DropDown::Dummyfunc) );
|
||||
CURSOR_LAPTOP_SCREEN, MSYS_NO_CALLBACK, CallBackWrapper((void*) this, DROPDOWN_CLOSE, &DropDownBase::Dummyfunc) );
|
||||
MSYS_AddRegion(&mSelectedCloseDropDownRegion);
|
||||
MSYS_DisableRegion(&mSelectedCloseDropDownRegion);
|
||||
|
||||
MSYS_DefineRegion( &mBubbleHelpRegion, musStartX, musStartY, musStartX + musWidth, musStartY + DEF_SCROLL_ARROW_HEIGHT, MSYS_PRIORITY_HIGH,
|
||||
CURSOR_WWW, MSYS_NO_CALLBACK, MSYS_NO_CALLBACK );
|
||||
MSYS_AddRegion(&mBubbleHelpRegion);
|
||||
|
||||
mfMouseRegionsCreated = TRUE;
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::Create_Drop()
|
||||
DropDownBase::Create_Drop()
|
||||
{
|
||||
if( mfMouseRegionsCreated_Drop )
|
||||
{
|
||||
@@ -166,7 +171,7 @@ DropDown::Create_Drop()
|
||||
for( i=0; i< DROPDOWN_REGIONS; ++i)
|
||||
{
|
||||
MSYS_DefineRegion( &mDropDownRegion[i], usPosX, (UINT16)(usPosY+4), (UINT16)(usPosX+musWidth-6), (UINT16)(usPosY+musFontHeight+7), MSYS_PRIORITY_HIGH,
|
||||
CURSOR_WWW, CallBackWrapper((void*) this, DROPDOWN_MOVEMENT, &DropDown::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_REGION, &DropDown::Dummyfunc));
|
||||
CURSOR_WWW, CallBackWrapper((void*) this, DROPDOWN_MOVEMENT, &DropDownBase::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_REGION, &DropDownBase::Dummyfunc));
|
||||
MSYS_AddRegion(&mDropDownRegion[i]);
|
||||
MSYS_SetRegionUserData( &mDropDownRegion[ i ], 0, i);
|
||||
|
||||
@@ -181,7 +186,7 @@ DropDown::Create_Drop()
|
||||
for(i=0; i<2; ++i)
|
||||
{
|
||||
MSYS_DefineRegion( &mgSelectedUpDownArrowOnScrollAreaRegion[i], usPosX, usPosY, (UINT16)(usPosX+musWidth), (UINT16)(usPosY+DEF_SCROLL_ARROW_HEIGHT), MSYS_PRIORITY_HIGH,
|
||||
CURSOR_WWW, MSYS_NO_CALLBACK, CallBackWrapper((void*) this, DROPDOWN_ARROW, &DropDown::Dummyfunc));
|
||||
CURSOR_WWW, MSYS_NO_CALLBACK, CallBackWrapper((void*) this, DROPDOWN_ARROW, &DropDownBase::Dummyfunc));
|
||||
MSYS_AddRegion(&mgSelectedUpDownArrowOnScrollAreaRegion[i]);
|
||||
MSYS_SetRegionUserData( &mgSelectedUpDownArrowOnScrollAreaRegion[ i ], 0, i);
|
||||
usPosX = musDownArrowX;
|
||||
@@ -196,14 +201,14 @@ DropDown::Create_Drop()
|
||||
for(i=0; i<DROPDOWN_REGIONS - 1; ++i)
|
||||
{
|
||||
MSYS_DefineRegion( &mSelectedScrollAreaDropDownRegion[i], usPosX, usPosY, (UINT16)(usPosX+musWidth), (UINT16)(usPosY+usHeight), MSYS_PRIORITY_HIGH+1,
|
||||
CURSOR_LAPTOP_SCREEN, CallBackWrapper((void*) this, DROPDOWN_SCROLL_MOVEMENT, &DropDown::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_SCROLL_REGION, &DropDown::Dummyfunc));
|
||||
CURSOR_LAPTOP_SCREEN, CallBackWrapper((void*) this, DROPDOWN_SCROLL_MOVEMENT, &DropDownBase::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_SCROLL_REGION, &DropDownBase::Dummyfunc));
|
||||
MSYS_AddRegion(&mSelectedScrollAreaDropDownRegion[i]);
|
||||
MSYS_SetRegionUserData( &mSelectedScrollAreaDropDownRegion[ i ], 0, i);
|
||||
usPosY += usHeight;
|
||||
}
|
||||
//put the last one down to cover the remaining area
|
||||
MSYS_DefineRegion( &mSelectedScrollAreaDropDownRegion[i], usPosX, usPosY, (UINT16)(usPosX+musWidth), musDownArrowY, MSYS_PRIORITY_HIGH+1,
|
||||
CURSOR_LAPTOP_SCREEN, CallBackWrapper((void*) this, DROPDOWN_SCROLL_MOVEMENT, &DropDown::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_SCROLL_REGION, &DropDown::Dummyfunc));
|
||||
CURSOR_LAPTOP_SCREEN, CallBackWrapper((void*) this, DROPDOWN_SCROLL_MOVEMENT, &DropDownBase::Dummyfunc), CallBackWrapper((void*) this, DROPDOWN_SCROLL_REGION, &DropDownBase::Dummyfunc));
|
||||
MSYS_AddRegion(&mSelectedScrollAreaDropDownRegion[i]);
|
||||
MSYS_SetRegionUserData( &mSelectedScrollAreaDropDownRegion[ i ], 0, i);
|
||||
|
||||
@@ -213,7 +218,7 @@ DropDown::Create_Drop()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::Destroy()
|
||||
DropDownBase::Destroy()
|
||||
{
|
||||
Destroy_Drop();
|
||||
|
||||
@@ -224,6 +229,7 @@ DropDown::Destroy()
|
||||
|
||||
MSYS_RemoveRegion( &mSelectedOpenDropDownRegion);
|
||||
MSYS_RemoveRegion( &mSelectedCloseDropDownRegion);
|
||||
MSYS_RemoveRegion( &mBubbleHelpRegion);
|
||||
|
||||
DeleteVideoObjectFromIndex(muiGoldArrowImages);
|
||||
|
||||
@@ -231,7 +237,7 @@ DropDown::Destroy()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::Destroy_Drop()
|
||||
DropDownBase::Destroy_Drop()
|
||||
{
|
||||
if( !mfMouseRegionsCreated_Drop )
|
||||
return;
|
||||
@@ -257,7 +263,7 @@ DropDown::Destroy_Drop()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::Display()
|
||||
DropDownBase::Display()
|
||||
{
|
||||
if( !mfMouseRegionsCreated )
|
||||
return;
|
||||
@@ -288,6 +294,13 @@ DropDown::Display()
|
||||
GetVideoObject(&hArrowHandle, muiGoldArrowImages);
|
||||
//top arrow
|
||||
BltVideoObject(FRAME_BUFFER, hArrowHandle, 0, musUpArrowX, musUpArrowY, VO_BLT_SRCTRANSPARENCY,NULL);
|
||||
|
||||
// Set region help text
|
||||
if ( StringPixLength ( mHelpText, DEF_DROPDOWN_FONT ) > 0 )
|
||||
{
|
||||
SetRegionFastHelpText( &mBubbleHelpRegion, mHelpText );
|
||||
SetRegionHelpEndCallback( &mBubbleHelpRegion, MSYS_NO_CALLBACK );
|
||||
}
|
||||
|
||||
InvalidateRegion(LAPTOP_SCREEN_UL_X,LAPTOP_SCREEN_WEB_UL_Y,LAPTOP_SCREEN_LR_X,LAPTOP_SCREEN_WEB_LR_Y);
|
||||
|
||||
@@ -297,7 +310,7 @@ DropDown::Display()
|
||||
|
||||
|
||||
void
|
||||
DropDown::Display_Drop()
|
||||
DropDownBase::Display_Drop()
|
||||
{
|
||||
if( !mfMouseRegionsCreated_Drop )
|
||||
return;
|
||||
@@ -339,7 +352,7 @@ DropDown::Display_Drop()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::DrawTopEntry()
|
||||
DropDownBase::DrawTopEntry()
|
||||
{
|
||||
if ( mSelectedEntry >= mEntryVector.size() )
|
||||
return;
|
||||
@@ -355,7 +368,7 @@ DropDown::DrawTopEntry()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::DrawSelectedCity()
|
||||
DropDownBase::DrawSelectedCity()
|
||||
{
|
||||
UINT16 usPosY = musStartY_Drop;
|
||||
UINT16 usMaxY = 0;
|
||||
@@ -386,7 +399,7 @@ DropDown::DrawSelectedCity()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::DrawGoldRectangle()
|
||||
DropDownBase::DrawGoldRectangle()
|
||||
{
|
||||
UINT32 uiDestPitchBYTES;
|
||||
UINT8 *pDestBuf;
|
||||
@@ -431,7 +444,7 @@ DropDown::DrawGoldRectangle()
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::SelectDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 reason )
|
||||
DropDownBase::SelectDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 reason )
|
||||
{
|
||||
if( reason & MSYS_CALLBACK_REASON_LOST_MOUSE )
|
||||
{
|
||||
@@ -453,7 +466,7 @@ DropDown::SelectDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 reason )
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::SelectDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
DropDownBase::SelectDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
if (iReason & MSYS_CALLBACK_REASON_INIT)
|
||||
{
|
||||
@@ -468,7 +481,7 @@ DropDown::SelectDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::SelectUpDownArrowOnScrollAreaRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
DropDownBase::SelectUpDownArrowOnScrollAreaRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
if (iReason & MSYS_CALLBACK_REASON_INIT)
|
||||
{
|
||||
@@ -505,7 +518,7 @@ DropDown::SelectUpDownArrowOnScrollAreaRegionCallBack(MOUSE_REGION * pRegion, IN
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::SelectScrollAreaDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 reason )
|
||||
DropDownBase::SelectScrollAreaDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 reason )
|
||||
{
|
||||
if( reason & MSYS_CALLBACK_REASON_LOST_MOUSE )
|
||||
{
|
||||
@@ -545,7 +558,7 @@ DropDown::SelectScrollAreaDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::SelectScrollAreaDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
DropDownBase::SelectScrollAreaDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
if (iReason & MSYS_CALLBACK_REASON_INIT)
|
||||
{
|
||||
@@ -599,7 +612,7 @@ DropDown::SelectScrollAreaDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 i
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::OpenDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
DropDownBase::OpenDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
if (iReason & MSYS_CALLBACK_REASON_INIT)
|
||||
{
|
||||
@@ -612,7 +625,7 @@ DropDown::OpenDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
}
|
||||
|
||||
void
|
||||
DropDown::CloseDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
DropDownBase::CloseDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
{
|
||||
if (iReason & MSYS_CALLBACK_REASON_INIT)
|
||||
{
|
||||
@@ -622,3 +635,4 @@ DropDown::CloseDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason )
|
||||
Destroy_Drop();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
+117
-103
@@ -19,98 +19,32 @@ void Display2Line2ShadowHorizontal( UINT16 usStartX, UINT16 usStartY, UINT16 End
|
||||
#define DROPDOWN_REGIONS 8
|
||||
|
||||
/*
|
||||
* As we cannot directly add our callbacks (we need a static callback due to the way MSYS_DefineRegion(...) works, which utterly fails if we have multiple instance of a class) we
|
||||
* use a very odd looking workaround.
|
||||
* For every DropDown you need, you have to inherit from this class and fill CallBackWrapper(...). You then need a static pointer to an instance of your class, and a wrapper for each callback
|
||||
* that will then call the correct callback. The derived class will also have to be a singleton, otherwise callbacks for multiple instances will always refer to the last created one.
|
||||
* This seems a lot of work and pretty absurd, but I've found no better workaround without changing MSYS_DefineRegion(), as it expects a MOUSE_CALLBACK and not voi* pointers to objects.
|
||||
* On the plus side, you can simply copy this code:
|
||||
|
||||
Definition:
|
||||
class DropDown_Example : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_Example& getInstance()
|
||||
{
|
||||
static DropDown_Example instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
//somehow refresh display, otherwise DropDownA will write over itself and other stuff
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh()
|
||||
{
|
||||
// do stuff here...
|
||||
}
|
||||
|
||||
private:
|
||||
DropDown_Example() {}; // private constructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_Example(DropDown_Example const&);
|
||||
void operator=(DropDown_Example const&);
|
||||
};
|
||||
|
||||
Declaration:
|
||||
void * gPtrDropDown_Example;
|
||||
void OpenDropDown_Example(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Example)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_Example(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Example)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_Example(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Example)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_Example(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Example)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_Example(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Example)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_Example(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Example)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_Example(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Example)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_Example::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_Example = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_Example;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_Example;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_Example;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_Example;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_Example;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_Example;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_Example;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
* As we cannot directly add our callbacks (we need a static callback due to the way MSYS_DefineRegion(...) works, which utterly fails if we have multiple instance of a class),
|
||||
* we use a very odd looking workaround.
|
||||
* We do not directly use DropDownBase. Instead we use DropDownTemplate, which is a template taking an int N. This template is a singleton. This means that for each N, there can only be one
|
||||
* instance of the class. This is necessary as we internally need a unique static self-pointer.
|
||||
* If you try to have two instances on the same screen, only one will show, which will be confusing. So simply use a separate N fore each instance. See IMP Prejudice.cpp to get an idea of how that is done.
|
||||
*
|
||||
* Apart from that, you will only have to implement void SetRefresh(). This function is necessary to refresh the screen after the popup-section is closed, otherwise it will still be shown.
|
||||
*
|
||||
* As this class refreshes itself once you have properly implemented SetRefresh(), you can even move the box aroun onscreen, it will properly refresh, so moving it with a mouse will be possible
|
||||
*
|
||||
* You can get an instance by calling DropDownTemplate<int X>.Create(UINT16 usX, UINT16 usY);, the constructor itself is private (singleton).
|
||||
|
||||
Usage:
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_Appearance;
|
||||
for(UINT8 i = 0; i < NUM_APPEARANCES; ++i)
|
||||
entryvecDropDown_Appearance.push_back( std::make_pair<INT16, STR16>(i, szAppearanceText[i]) );
|
||||
|
||||
DropDown_Appearance::getInstance().SetEntries(entryvecDropDown_Appearance);
|
||||
DropDown_Appearance::getInstance().Create(usX, usY);
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>.SetEntries(entryvecDropDown_Appearance);
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>.Create(usX, usY);
|
||||
...
|
||||
|
||||
*/
|
||||
class DropDown
|
||||
class DropDownBase
|
||||
{
|
||||
public:
|
||||
DropDown();
|
||||
DropDownBase();
|
||||
|
||||
/*
|
||||
* Create a Dropdown with upper left coordinates
|
||||
@@ -123,7 +57,7 @@ public:
|
||||
void Destroy();
|
||||
|
||||
/*
|
||||
* Display DropDown. Use this when refreshing
|
||||
* Display DropDownBase. Use this when refreshing
|
||||
*/
|
||||
void Display();
|
||||
|
||||
@@ -147,23 +81,7 @@ public:
|
||||
DROPDOWN_SCROLL_REGION,
|
||||
DROPDOWN_SCROLL_MOVEMENT,
|
||||
};
|
||||
|
||||
// call to open/close the drop down
|
||||
void OpenDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void CloseDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
void SelectDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void SelectDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void SelectUpDownArrowOnScrollAreaRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
void SelectScrollAreaDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void SelectScrollAreaDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
/*
|
||||
* This function has to be implemented, see documetnation as to why and how!
|
||||
*/
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) ) = 0;
|
||||
|
||||
|
||||
/*
|
||||
* Set the content of a dropdown. Each entry consists of an INT16 key, by which you can later identify which entry was selected, and a STR16 that will be displayed.
|
||||
* There can be multiple instances of the same key or name.
|
||||
@@ -190,13 +108,18 @@ public:
|
||||
*/
|
||||
void SetColorHighLight( UINT16 aCol ) { mColorHighLight = aCol; }
|
||||
|
||||
/*
|
||||
* Set help text decribing what can be selected
|
||||
*/
|
||||
void SetHelpText( STR16 aText ) { wcscat( mHelpText, aText ); }
|
||||
|
||||
/*
|
||||
* Get key of selected entry
|
||||
*/
|
||||
INT16 GetSelectedEntryKey() { return mEntryVector[mSelectedEntry].first; }
|
||||
|
||||
/*
|
||||
* Get width of entire DropDown
|
||||
* Get width of entire DropDownBase
|
||||
*/
|
||||
UINT16 GetTotalWidth() { return musWidth + musArrowWidth; }
|
||||
|
||||
@@ -205,10 +128,26 @@ public:
|
||||
*/
|
||||
UINT16 GetLastX() { return musStartX + GetTotalWidth(); }
|
||||
|
||||
// call to open/close the drop down
|
||||
void OpenDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void CloseDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
void SelectDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void SelectDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void SelectUpDownArrowOnScrollAreaRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
void SelectScrollAreaDropDownRegionCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
void SelectScrollAreaDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 iReason );
|
||||
|
||||
/*
|
||||
* This function is implemented again in DropDownTemplate
|
||||
*/
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) ) { return Dummyfunc; }
|
||||
|
||||
private:
|
||||
// declare but don't define
|
||||
DropDown(DropDown const&);
|
||||
void operator=(DropDown const&);
|
||||
DropDownBase(DropDownBase const&);
|
||||
void operator=(DropDownBase const&);
|
||||
|
||||
/*
|
||||
* Initialise variables. Called after each creationm which allows moving a dropdown
|
||||
@@ -261,6 +200,7 @@ private:
|
||||
|
||||
MOUSE_REGION mSelectedOpenDropDownRegion;
|
||||
MOUSE_REGION mSelectedCloseDropDownRegion;
|
||||
MOUSE_REGION mBubbleHelpRegion; // for a help text describing what a selection is good for, can be seen when hovering the mouse over the box when it is closed
|
||||
|
||||
MOUSE_REGION mDropDownRegion[DROPDOWN_REGIONS];
|
||||
MOUSE_REGION mgSelectedUpDownArrowOnScrollAreaRegion[2];
|
||||
@@ -270,9 +210,83 @@ private:
|
||||
|
||||
std::vector<std::pair<INT16, STR16> > mEntryVector;
|
||||
|
||||
CHAR16 mHelpText[200];
|
||||
|
||||
UINT8 mSelectedEntry; // keeps track of the currently selected city
|
||||
UINT8 mFirstShownEntry; // top entry of the dropped region
|
||||
UINT8 mNumDisplayedEntries; // number of entries displayed. Calculated internally, no need to change by user
|
||||
};
|
||||
|
||||
template<int N>
|
||||
class DropDownTemplate : public DropDownBase
|
||||
{
|
||||
public:
|
||||
static DropDownTemplate<N>& getInstance()
|
||||
{
|
||||
static DropDownTemplate<N> instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh();
|
||||
|
||||
static void OpenDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void CloseDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void SelectRegionDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void SelectMovementDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
static void SelectArrowDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
static void SelectScrollRegionDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void SelectScrollMovementDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
mpSelf = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_Appearance;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
private:
|
||||
static void* mpSelf;
|
||||
|
||||
private:
|
||||
DropDownTemplate<N>() {}; // private constructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDownTemplate(DropDownTemplate const&);
|
||||
void operator=(DropDownTemplate const&);
|
||||
};
|
||||
|
||||
template <int N>
|
||||
void DropDownTemplate<N>::SetRefresh();
|
||||
|
||||
template <int N>
|
||||
void* DropDownTemplate<N>::mpSelf = NULL;
|
||||
|
||||
#endif
|
||||
|
||||
+124
-744
@@ -1,3 +1,8 @@
|
||||
/**
|
||||
* @file
|
||||
* @author Flugente (bears-pit.com)
|
||||
*/
|
||||
|
||||
#ifdef PRECOMPILEDHEADERS
|
||||
#include "Laptop All.h"
|
||||
#include "IMP Skill Trait.h"
|
||||
@@ -75,666 +80,32 @@ BOOLEAN CameBackToPrejudicePageButNotFinished();
|
||||
//*******************************************************************
|
||||
#define DROPDOWN_MARKUP_Y 50
|
||||
|
||||
//*******************************************************************
|
||||
//
|
||||
// DropDown declarations
|
||||
//
|
||||
//*******************************************************************
|
||||
class DropDown_Appearance : public DropDown
|
||||
enum definedDropDowns
|
||||
{
|
||||
public:
|
||||
static DropDown_Appearance& getInstance()
|
||||
{
|
||||
static DropDown_Appearance instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_Appearance() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_Appearance(DropDown_Appearance const&);
|
||||
void operator=(DropDown_Appearance const&);
|
||||
DROPDOWNNR_APPEARANCE = 0,
|
||||
DROPDOWNNR_APPEARANCECARE,
|
||||
DROPDOWNNR_REFINEMENT,
|
||||
DROPDOWNNR_REFINEMENTCARE,
|
||||
DROPDOWNNR_NATIONALITY,
|
||||
DROPDOWNNR_HATEDNATIONALITY,
|
||||
DROPDOWNNR_HATEDNATIONALITYCARE,
|
||||
DROPDOWNNR_RACIST,
|
||||
DROPDOWNNR_RACE,
|
||||
DROPDOWNNR_SEXIST,
|
||||
DROPDOWNNR_RACISTFEATURE,
|
||||
};
|
||||
|
||||
class DropDown_AppearanceCare : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_AppearanceCare& getInstance()
|
||||
{
|
||||
static DropDown_AppearanceCare instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_AppearanceCare() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_AppearanceCare(DropDown_AppearanceCare const&);
|
||||
void operator=(DropDown_AppearanceCare const&);
|
||||
};
|
||||
|
||||
class DropDown_Refinement : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_Refinement& getInstance()
|
||||
{
|
||||
static DropDown_Refinement instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_Refinement() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_Refinement(DropDown_Refinement const&);
|
||||
void operator=(DropDown_Refinement const&);
|
||||
};
|
||||
|
||||
class DropDown_RefinementCare : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_RefinementCare& getInstance()
|
||||
{
|
||||
static DropDown_RefinementCare instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_RefinementCare() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_RefinementCare(DropDown_RefinementCare const&);
|
||||
void operator=(DropDown_RefinementCare const&);
|
||||
};
|
||||
|
||||
class DropDown_Nationality : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_Nationality& getInstance()
|
||||
{
|
||||
static DropDown_Nationality instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_Nationality() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_Nationality(DropDown_Nationality const&);
|
||||
void operator=(DropDown_Nationality const&);
|
||||
};
|
||||
|
||||
class DropDown_HatedNationality : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_HatedNationality& getInstance()
|
||||
{
|
||||
static DropDown_HatedNationality instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_HatedNationality() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_HatedNationality(DropDown_HatedNationality const&);
|
||||
void operator=(DropDown_HatedNationality const&);
|
||||
};
|
||||
|
||||
class DropDown_HatedNationalityCare : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_HatedNationalityCare& getInstance()
|
||||
{
|
||||
static DropDown_HatedNationalityCare instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_HatedNationalityCare() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_HatedNationalityCare(DropDown_HatedNationalityCare const&);
|
||||
void operator=(DropDown_HatedNationalityCare const&);
|
||||
};
|
||||
|
||||
class DropDown_Racist : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_Racist& getInstance()
|
||||
{
|
||||
static DropDown_Racist instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_Racist() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_Racist(DropDown_Racist const&);
|
||||
void operator=(DropDown_Racist const&);
|
||||
};
|
||||
|
||||
class DropDown_RacistTarget : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_RacistTarget& getInstance()
|
||||
{
|
||||
static DropDown_RacistTarget instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_RacistTarget() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_RacistTarget(DropDown_RacistTarget const&);
|
||||
void operator=(DropDown_RacistTarget const&);
|
||||
};
|
||||
|
||||
class DropDown_Sexist : public DropDown
|
||||
{
|
||||
public:
|
||||
static DropDown_Sexist& getInstance()
|
||||
{
|
||||
static DropDown_Sexist instance; // Guaranteed to be destroyed.
|
||||
// Instantiated on first use.
|
||||
return instance;
|
||||
}
|
||||
|
||||
virtual MOUSE_CALLBACK CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) );
|
||||
|
||||
// this function has to be implemented!
|
||||
virtual void SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
private:
|
||||
DropDown_Sexist() {}; // private cosntructor, so we cannot create more instances
|
||||
|
||||
// declare but don't define
|
||||
DropDown_Sexist(DropDown_Sexist const&);
|
||||
void operator=(DropDown_Sexist const&);
|
||||
};
|
||||
|
||||
//*******************************************************************
|
||||
//
|
||||
// DropDown definitions
|
||||
//
|
||||
//*******************************************************************
|
||||
void* gPtrDropDown_Appearance;
|
||||
void OpenDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Appearance)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Appearance)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Appearance)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Appearance)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Appearance)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Appearance)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_Appearance(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Appearance)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_Appearance::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_Appearance = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_Appearance;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_Appearance;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_AppearanceCare;
|
||||
void OpenDropDown_DropDown_AppearanceCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_AppearanceCare)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_AppearanceCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_AppearanceCare)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_AppearanceCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_AppearanceCare)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_AppearanceCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_AppearanceCare)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_AppearanceCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_AppearanceCare)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_AppearanceCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_AppearanceCare)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_AppearanceCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_AppearanceCare)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_AppearanceCare::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_AppearanceCare = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_AppearanceCare;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_AppearanceCare;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_AppearanceCare;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_AppearanceCare;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_AppearanceCare;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_AppearanceCare;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_AppearanceCare;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_Refinement;
|
||||
void OpenDropDown_DropDown_Refinement(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Refinement)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_Refinement(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Refinement)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_Refinement(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Refinement)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_Refinement(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Refinement)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_Refinement(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Refinement)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_Refinement(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Refinement)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_Refinement(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Refinement)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_Refinement::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_Refinement = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_Refinement;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_Refinement;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_Refinement;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_Refinement;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_Refinement;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_Refinement;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_Refinement;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_RefinementCare;
|
||||
void OpenDropDown_DropDown_RefinementCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RefinementCare)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_RefinementCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RefinementCare)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_RefinementCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RefinementCare)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_RefinementCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RefinementCare)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_RefinementCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RefinementCare)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_RefinementCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RefinementCare)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_RefinementCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RefinementCare)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_RefinementCare::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_RefinementCare = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_RefinementCare;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_RefinementCare;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_RefinementCare;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_RefinementCare;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_RefinementCare;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_RefinementCare;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_RefinementCare;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_Nationality;
|
||||
void OpenDropDown_DropDown_Nationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Nationality)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_Nationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Nationality)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_Nationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Nationality)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_Nationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Nationality)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_Nationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Nationality)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_Nationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Nationality)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_Nationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Nationality)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_Nationality::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_Nationality = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_Nationality;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_Nationality;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_Nationality;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_Nationality;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_Nationality;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_Nationality;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_Nationality;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_HatedNationality;
|
||||
void OpenDropDown_DropDown_HatedNationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationality)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_HatedNationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationality)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_HatedNationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationality)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_HatedNationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationality)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_HatedNationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationality)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_HatedNationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationality)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_HatedNationality(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationality)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_HatedNationality::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_HatedNationality = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_HatedNationality;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_HatedNationality;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_HatedNationality;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_HatedNationality;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_HatedNationality;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_HatedNationality;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_HatedNationality;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_HatedNationalityCare;
|
||||
void OpenDropDown_DropDown_HatedNationalityCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationalityCare)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_HatedNationalityCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationalityCare)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_HatedNationalityCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationalityCare)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_HatedNationalityCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationalityCare)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_HatedNationalityCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationalityCare)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_HatedNationalityCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationalityCare)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_HatedNationalityCare(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_HatedNationalityCare)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_HatedNationalityCare::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_HatedNationalityCare = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_HatedNationalityCare;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_HatedNationalityCare;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_HatedNationalityCare;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_HatedNationalityCare;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_HatedNationalityCare;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_HatedNationalityCare;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_HatedNationalityCare;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_Racist;
|
||||
void OpenDropDown_DropDown_Racist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Racist)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_Racist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Racist)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_Racist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Racist)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_Racist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Racist)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_Racist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Racist)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_Racist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Racist)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_Racist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Racist)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_Racist::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_Racist = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_Racist;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_Racist;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_Racist;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_Racist;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_Racist;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_Racist;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_Racist;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_RacistTarget;
|
||||
void OpenDropDown_DropDown_RacistTarget(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RacistTarget)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_RacistTarget(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RacistTarget)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_RacistTarget(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RacistTarget)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_RacistTarget(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RacistTarget)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_RacistTarget(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RacistTarget)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_RacistTarget(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RacistTarget)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_RacistTarget(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_RacistTarget)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_RacistTarget::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_RacistTarget = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_RacistTarget;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_RacistTarget;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_RacistTarget;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_RacistTarget;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_RacistTarget;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_RacistTarget;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_RacistTarget;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
void* gPtrDropDown_Sexist;
|
||||
void OpenDropDown_DropDown_Sexist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Sexist)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
void CloseDropDown_DropDown_Sexist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Sexist)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectRegionDropDown_DropDown_Sexist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Sexist)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectMovementDropDown_DropDown_Sexist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Sexist)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
void SelectArrowDropDown_DropDown_Sexist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Sexist)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollRegionDropDown_DropDown_Sexist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Sexist)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
void SelectScrollMovementDropDown_DropDown_Sexist(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDown*>(gPtrDropDown_Sexist)->SelectScrollAreaDropDownMovementCallBack(pRegion, iReason); }
|
||||
|
||||
MOUSE_CALLBACK
|
||||
DropDown_Sexist::CallBackWrapper(void* pt2Object, UINT8 arg, void (*pt2Function)(MOUSE_REGION * pRegion, INT32 iReason) )
|
||||
{
|
||||
gPtrDropDown_Sexist = pt2Object;
|
||||
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_Sexist;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_Sexist;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_Sexist;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_Sexist;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_Sexist;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_Sexist;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_Sexist;
|
||||
break;
|
||||
}
|
||||
|
||||
return *pt2Function;
|
||||
}
|
||||
|
||||
template<> void DropDownTemplate<DROPDOWNNR_APPEARANCE>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_REFINEMENT>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_NATIONALITY>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_RACIST>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_RACE>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_SEXIST>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
template<> void DropDownTemplate<DROPDOWNNR_RACISTFEATURE>::SetRefresh() { gfIMPPrejudice_Redraw = TRUE; }
|
||||
|
||||
void EnterIMPPrejudice( void )
|
||||
{
|
||||
@@ -756,20 +127,22 @@ void EnterIMPPrejudice( void )
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_Appearance;
|
||||
for(UINT8 i = 0; i < NUM_APPEARANCES; ++i)
|
||||
entryvecDropDown_Appearance.push_back( std::make_pair<INT16, STR16>(i, szAppearanceText[i]) );
|
||||
|
||||
DropDown_Appearance::getInstance().SetEntries(entryvecDropDown_Appearance);
|
||||
DropDown_Appearance::getInstance().Create(usX, usY);
|
||||
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().SetEntries(entryvecDropDown_Appearance);
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_APPEARANCE] );
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_Appearance //////////////////////////
|
||||
|
||||
usX = DropDown_Appearance::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_ANDAPPEARANCEIS], FONT12ARIAL ) + 20;
|
||||
usX = DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_ANDAPPEARANCEIS], FONT12ARIAL ) + 20;
|
||||
////////////////// DropDown_AppearanceCare //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_AppearanceCare;
|
||||
for(UINT8 i = 0; i < NUM_CARELEVELS; ++i)
|
||||
entryvecDropDown_AppearanceCare.push_back( std::make_pair<INT16, STR16>(i, szCareLevelText[i]) );
|
||||
|
||||
DropDown_AppearanceCare::getInstance().SetEntries(entryvecDropDown_AppearanceCare);
|
||||
DropDown_AppearanceCare::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDown_AppearanceCare::getInstance().Create(usX, usY);
|
||||
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().SetEntries(entryvecDropDown_AppearanceCare);
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_APPEARANCECARE] );
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_AppearanceCare //////////////////////////
|
||||
|
||||
usX = LAPTOP_SCREEN_UL_X + 5 + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_YOUHAVE], FONT12ARIAL ) + 10;
|
||||
@@ -779,34 +152,37 @@ void EnterIMPPrejudice( void )
|
||||
for(UINT8 i = 0; i < NUM_REFINEMENT; ++i)
|
||||
entryvecDropDown_Refinement.push_back( std::make_pair<INT16, STR16>(i, szRefinementText[i]) );
|
||||
|
||||
DropDown_Refinement::getInstance().SetEntries(entryvecDropDown_Refinement);
|
||||
DropDown_Refinement::getInstance().Create(usX, usY);
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().SetEntries(entryvecDropDown_Refinement);
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_REFINEMENT] );
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_Refinement //////////////////////////
|
||||
|
||||
usX = DropDown_Refinement::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_ANDCARE], FONT12ARIAL ) + 20;
|
||||
////////////////// DropDown_RefinementCare //////////////////////////
|
||||
usX = DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_ANDCARE], FONT12ARIAL ) + 20;
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_REFINEMENTCARE> //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_RefinementCare;
|
||||
for(UINT8 i = 0; i < NUM_CARELEVELS; ++i)
|
||||
entryvecDropDown_RefinementCare.push_back( std::make_pair<INT16, STR16>(i, szCareLevelText[i]) );
|
||||
|
||||
DropDown_RefinementCare::getInstance().SetEntries(entryvecDropDown_RefinementCare);
|
||||
DropDown_RefinementCare::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDown_RefinementCare::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_RefinementCare //////////////////////////
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().SetEntries(entryvecDropDown_RefinementCare);
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_REFINEMENTCARE] );
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_REFINEMENTCARE> //////////////////////////
|
||||
|
||||
usX = LAPTOP_SCREEN_UL_X + 5 + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_YOUARE], FONT12ARIAL ) + 10;
|
||||
usY += DROPDOWN_MARKUP_Y;
|
||||
////////////////// DropDown_Nationality //////////////////////////
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_NATIONALITY> //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_Nationality;
|
||||
for(UINT8 i = 0; i < NUM_NATIONALITIES; ++i)
|
||||
entryvecDropDown_Nationality.push_back( std::make_pair<INT16, STR16>(i, szNationalityText[i]) );
|
||||
|
||||
DropDown_Nationality::getInstance().SetEntries(entryvecDropDown_Nationality);
|
||||
DropDown_Nationality::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_Nationality //////////////////////////
|
||||
DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().SetEntries(entryvecDropDown_Nationality);
|
||||
DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_NATIONALITY] );
|
||||
DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_NATIONALITY> //////////////////////////
|
||||
|
||||
usX = DropDown_Nationality::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_ADHATEEVERYONE], FONT12ARIAL ) + 20;
|
||||
////////////////// DropDown_HatedNationality //////////////////////////
|
||||
usX = DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_ADHATEEVERYONE], FONT12ARIAL ) + 20;
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY> //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_HatedNationality;
|
||||
// we can also hate no nation at all...
|
||||
entryvecDropDown_HatedNationality.push_back( std::make_pair<INT16, STR16>(-1, szNationalityText_Special[1]) );
|
||||
@@ -814,54 +190,59 @@ void EnterIMPPrejudice( void )
|
||||
for(UINT8 i = 0; i < NUM_NATIONALITIES; ++i)
|
||||
entryvecDropDown_HatedNationality.push_back( std::make_pair<INT16, STR16>(i, szNationalityText[i]) );
|
||||
|
||||
DropDown_HatedNationality::getInstance().SetEntries(entryvecDropDown_HatedNationality);
|
||||
DropDown_HatedNationality::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_HatedNationality //////////////////////////
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().SetEntries(entryvecDropDown_HatedNationality);
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_HATEDNATIONALITY] );
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY> //////////////////////////
|
||||
|
||||
usX = DropDown_HatedNationality::getInstance().GetLastX() + 5;
|
||||
////////////////// DropDown_HatedNationalityCare //////////////////////////
|
||||
usX = DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().GetLastX() + 5;
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE> //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_HatedNationalityCare;
|
||||
for(UINT8 i = 0; i < NUM_CARELEVELS; ++i)
|
||||
entryvecDropDown_HatedNationalityCare.push_back( std::make_pair<INT16, STR16>(i, szCareLevelText[i]) );
|
||||
|
||||
DropDown_HatedNationalityCare::getInstance().SetEntries(entryvecDropDown_HatedNationalityCare);
|
||||
DropDown_HatedNationalityCare::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDown_HatedNationalityCare::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_HatedNationalityCare //////////////////////////
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().SetEntries(entryvecDropDown_HatedNationalityCare);
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_HATEDNATIONALITYCARE] );
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE> //////////////////////////
|
||||
|
||||
usX = LAPTOP_SCREEN_UL_X + 5 + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_YOUARE], FONT12ARIAL ) + 10;
|
||||
usY += DROPDOWN_MARKUP_Y;
|
||||
////////////////// DropDown_Racist //////////////////////////
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_RACIST> //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_Racist;
|
||||
for(UINT8 i = 0; i < NUM_RACIST; ++i)
|
||||
entryvecDropDown_Racist.push_back( std::make_pair<INT16, STR16>(i, szRacistText[i]) );
|
||||
|
||||
DropDown_Racist::getInstance().SetEntries(entryvecDropDown_Racist);
|
||||
DropDown_Racist::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDown_Racist::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_Racist //////////////////////////
|
||||
DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().SetEntries(entryvecDropDown_Racist);
|
||||
DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_RACIST] );
|
||||
DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_RACIST> //////////////////////////
|
||||
|
||||
usX = DropDown_Racist::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_RACISTAGAINSTNON], FONT12ARIAL ) + 10;
|
||||
////////////////// DropDown_RacistTarget //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_RacistTarget;
|
||||
usX = DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().GetLastX() + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_RACISTAGAINSTNON], FONT12ARIAL ) + 10;
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_RACE> //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_Race;
|
||||
for(UINT8 i = 0; i < NUM_RACES; ++i)
|
||||
entryvecDropDown_RacistTarget.push_back( std::make_pair<INT16, STR16>(i, szRaceText[i]) );
|
||||
entryvecDropDown_Race.push_back( std::make_pair<INT16, STR16>(i, szRaceText[i]) );
|
||||
|
||||
DropDown_RacistTarget::getInstance().SetEntries(entryvecDropDown_RacistTarget);
|
||||
DropDown_RacistTarget::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_RacistTarget //////////////////////////
|
||||
DropDownTemplate<DROPDOWNNR_RACE>::getInstance().SetEntries(entryvecDropDown_Race);
|
||||
DropDownTemplate<DROPDOWNNR_RACE>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_RACE] );
|
||||
DropDownTemplate<DROPDOWNNR_RACE>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_RACE> //////////////////////////
|
||||
|
||||
usX = LAPTOP_SCREEN_UL_X + 5 + StringPixLength ( szPersonalityDisplayText[PERSONALITYTEXT_YOUARE], FONT12ARIAL ) + 10;
|
||||
usY += DROPDOWN_MARKUP_Y;
|
||||
////////////////// DropDown_Sexist //////////////////////////
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_SEXIST> //////////////////////////
|
||||
std::vector<std::pair<INT16, STR16> > entryvecDropDown_Sexist;
|
||||
for(UINT8 i = 0; i < NUM_SEXIST; ++i)
|
||||
entryvecDropDown_Sexist.push_back( std::make_pair<INT16, STR16>(i, szSexistText[i]) );
|
||||
|
||||
DropDown_Sexist::getInstance().SetEntries(entryvecDropDown_Sexist);
|
||||
DropDown_Sexist::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDown_Sexist::getInstance().Create(usX, usY);
|
||||
////////////////// DropDown_Sexist //////////////////////////
|
||||
DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().SetEntries(entryvecDropDown_Sexist);
|
||||
DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().SetHelpText( szPersonalityHelpText[DROPDOWNNR_SEXIST] );
|
||||
DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().SetColorLine( Get16BPPColor( FROMRGB( 38, 191, 60 ) ) );
|
||||
DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().Create(usX, usY);
|
||||
////////////////// DropDownTemplate<DROPDOWNNR_SEXIST> //////////////////////////
|
||||
}
|
||||
|
||||
|
||||
@@ -872,31 +253,31 @@ void RenderIMPPrejudice( void )
|
||||
|
||||
IMPPrejudiceDisplay();
|
||||
|
||||
DropDown_Appearance::getInstance().Display();
|
||||
DropDown_AppearanceCare::getInstance().Display();
|
||||
DropDown_Refinement::getInstance().Display();
|
||||
DropDown_RefinementCare::getInstance().Display();
|
||||
DropDown_Nationality::getInstance().Display();
|
||||
DropDown_HatedNationality::getInstance().Display();
|
||||
DropDown_HatedNationalityCare::getInstance().Display();
|
||||
DropDown_Racist::getInstance().Display();
|
||||
DropDown_RacistTarget::getInstance().Display();
|
||||
DropDown_Sexist::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_RACE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().Display();
|
||||
}
|
||||
|
||||
|
||||
void ExitIMPPrejudice( void )
|
||||
{
|
||||
DropDown_Appearance::getInstance().Destroy();
|
||||
DropDown_AppearanceCare::getInstance().Destroy();
|
||||
DropDown_Refinement::getInstance().Destroy();
|
||||
DropDown_RefinementCare::getInstance().Destroy();
|
||||
DropDown_Nationality::getInstance().Destroy();
|
||||
DropDown_HatedNationality::getInstance().Destroy();
|
||||
DropDown_HatedNationalityCare::getInstance().Destroy();
|
||||
DropDown_Racist::getInstance().Destroy();
|
||||
DropDown_RacistTarget::getInstance().Destroy();
|
||||
DropDown_Sexist::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_RACE>::getInstance().Destroy();
|
||||
DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().Destroy();
|
||||
|
||||
RemoveButton( giIMPPrejudiceFinishButton );
|
||||
UnloadButtonImage( giIMPPrejudiceFinishButtonImage );
|
||||
@@ -916,7 +297,6 @@ void HandleIMPPrejudice( void )
|
||||
|
||||
void IMPPrejudiceDisplay()
|
||||
{
|
||||
UINT32 uiCnt;
|
||||
UINT16 usPosX, usPosY;
|
||||
|
||||
//Display the title
|
||||
@@ -930,10 +310,10 @@ void IMPPrejudiceDisplay()
|
||||
// Appearance
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_YOULOOK], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_Appearance::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_ANDAPPEARANCEIS], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_AppearanceCare::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_IMPORTANTTOYOU], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
// Refinement
|
||||
@@ -941,10 +321,10 @@ void IMPPrejudiceDisplay()
|
||||
usPosY += DROPDOWN_MARKUP_Y;
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_YOUHAVE], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_Refinement::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_ANDCARE], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_RefinementCare::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_ABOUTTHAT], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
// Hated Nations
|
||||
@@ -952,7 +332,7 @@ void IMPPrejudiceDisplay()
|
||||
usPosY += DROPDOWN_MARKUP_Y;
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_YOUARE], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_Nationality::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_ADHATEEVERYONE], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
// Racism
|
||||
@@ -960,10 +340,10 @@ void IMPPrejudiceDisplay()
|
||||
usPosY += DROPDOWN_MARKUP_Y;
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_YOUARE], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_Racist::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_RACISTAGAINSTNON], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_RacistTarget::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_RACE>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_PEOPLE], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
// Sexism
|
||||
@@ -971,7 +351,7 @@ void IMPPrejudiceDisplay()
|
||||
usPosY += DROPDOWN_MARKUP_Y;
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_YOUARE], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
|
||||
usPosX = 10 + DropDown_Sexist::getInstance().GetLastX();
|
||||
usPosX = 10 + DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().GetLastX();
|
||||
DrawTextToScreen( szPersonalityDisplayText[PERSONALITYTEXT_DOT], usPosX, usPosY, 0, IMP_PREJUDICE__FONT, IMP_PREJUDICE__COLOR, FONT_MCOLOR_BLACK, FALSE, LEFT_JUSTIFIED );
|
||||
}
|
||||
|
||||
@@ -996,16 +376,16 @@ void BtnIMPPrejudiceFinishCallback(GUI_BUTTON *btn,INT32 reason)
|
||||
else
|
||||
{
|
||||
// we finished this -> write down our choices
|
||||
bRace = ( INT8)DropDown_RacistTarget::getInstance().GetSelectedEntryKey();
|
||||
bNationality = ( INT8)DropDown_Nationality::getInstance().GetSelectedEntryKey();
|
||||
bAppearance = ( INT8)DropDown_Appearance::getInstance().GetSelectedEntryKey();
|
||||
bAppearanceCareLevel = ( INT8)DropDown_AppearanceCare::getInstance().GetSelectedEntryKey();
|
||||
bRefinement = ( INT8)DropDown_Refinement::getInstance().GetSelectedEntryKey();
|
||||
bRefinementCareLevel = ( INT8)DropDown_RefinementCare::getInstance().GetSelectedEntryKey();
|
||||
bHatedNationality = ( INT8)DropDown_HatedNationality::getInstance().GetSelectedEntryKey();
|
||||
bHatedNationalityCareLevel = ( INT8)DropDown_HatedNationalityCare::getInstance().GetSelectedEntryKey();
|
||||
bRacist = ( INT8)DropDown_Racist::getInstance().GetSelectedEntryKey();
|
||||
bSexist = (UINT8)DropDown_Sexist::getInstance().GetSelectedEntryKey();
|
||||
bRace = ( INT8)DropDownTemplate<DROPDOWNNR_RACE>::getInstance().GetSelectedEntryKey();
|
||||
bNationality = ( INT8)DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().GetSelectedEntryKey();
|
||||
bAppearance = ( INT8)DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().GetSelectedEntryKey();
|
||||
bAppearanceCareLevel = ( INT8)DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().GetSelectedEntryKey();
|
||||
bRefinement = ( INT8)DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().GetSelectedEntryKey();
|
||||
bRefinementCareLevel = ( INT8)DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().GetSelectedEntryKey();
|
||||
bHatedNationality = ( INT8)DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().GetSelectedEntryKey();
|
||||
bHatedNationalityCareLevel = ( INT8)DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().GetSelectedEntryKey();
|
||||
bRacist = ( INT8)DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().GetSelectedEntryKey();
|
||||
bSexist = (UINT8)DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().GetSelectedEntryKey();
|
||||
|
||||
if ( gGameOptions.fBackGround )
|
||||
{
|
||||
|
||||
@@ -1,8 +1,12 @@
|
||||
#ifndef __IMP_PREJUDICE__H_
|
||||
#define __IMP_PREJUDICE__H_
|
||||
|
||||
/**
|
||||
* @file
|
||||
* @author Flugente (bears-pit.com)
|
||||
*/
|
||||
|
||||
#include "Types.h"
|
||||
#include "mousesystem.h"
|
||||
|
||||
void EnterIMPPrejudice( void );
|
||||
void RenderIMPPrejudice( void );
|
||||
|
||||
Reference in New Issue
Block a user