mirror of
https://github.com/1dot13/source.git
synced 2026-07-22 13:40:22 +02:00
Fixed dropdown menu glitches
git-svn-id: https://ja2svn.mooo.com/source/ja2/trunk/GameSource/ja2_v1.13/Build@6774 3b4a5df2-a311-0410-b5c6-a8a6f20db521
This commit is contained in:
+4
-4
@@ -348,9 +348,9 @@ DropDownBase::Display_Drop()
|
||||
void
|
||||
DropDownBase::DrawTopEntry()
|
||||
{
|
||||
if ( mSelectedEntry >= mEntryVector.size() )
|
||||
return;
|
||||
|
||||
// make sure we don't get bogus values
|
||||
mSelectedEntry = min(mSelectedEntry, mEntryVector.size() - 1);
|
||||
|
||||
//display the name in the list
|
||||
ColorFillVideoSurfaceArea( FRAME_BUFFER, musStartX+4, musStartY+4, musStartX+musWidth-4, musStartY+musFontHeight+8, mColorMarked );
|
||||
|
||||
@@ -450,7 +450,7 @@ DropDownBase::SelectDropDownMovementCallBack(MOUSE_REGION * pRegion, INT32 reaso
|
||||
pRegion->uiFlags |= BUTTON_CLICKED_ON ;
|
||||
|
||||
mSelectedEntry = (UINT8)MSYS_GetRegionUserData( pRegion, 0 ) + mFirstShownEntry;
|
||||
|
||||
|
||||
InvalidateRegion(pRegion->RegionTopLeftX, pRegion->RegionTopLeftY, pRegion->RegionBottomRightX, pRegion->RegionBottomRightY);
|
||||
|
||||
DrawTopEntry();
|
||||
|
||||
+14
-14
@@ -236,13 +236,13 @@ public:
|
||||
// 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); }
|
||||
static void OpenDropDown_DropDown(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->OpenDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void CloseDropDown_DropDown(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->CloseDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void SelectRegionDropDown_DropDown(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void SelectMovementDropDown_DropDown(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectDropDownMovementCallBack(pRegion, iReason); }
|
||||
static void SelectArrowDropDown_DropDown(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectUpDownArrowOnScrollAreaRegionCallBack(pRegion, iReason); }
|
||||
static void SelectScrollRegionDropDown_DropDown(MOUSE_REGION * pRegion, INT32 iReason ) { return static_cast<DropDownBase*>(mpSelf)->SelectScrollAreaDropDownRegionCallBack(pRegion, iReason); }
|
||||
static void SelectScrollMovementDropDown_DropDown(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) )
|
||||
@@ -252,25 +252,25 @@ public:
|
||||
switch ( arg )
|
||||
{
|
||||
case DROPDOWN_OPEN:
|
||||
return &OpenDropDown_DropDown_Appearance;
|
||||
return &OpenDropDown_DropDown;
|
||||
break;
|
||||
case DROPDOWN_CLOSE:
|
||||
return &CloseDropDown_DropDown_Appearance;
|
||||
return &CloseDropDown_DropDown;
|
||||
break;
|
||||
case DROPDOWN_REGION:
|
||||
return &SelectRegionDropDown_DropDown_Appearance;
|
||||
return &SelectRegionDropDown_DropDown;
|
||||
break;
|
||||
case DROPDOWN_MOVEMENT:
|
||||
return &SelectMovementDropDown_DropDown_Appearance;
|
||||
return &SelectMovementDropDown_DropDown;
|
||||
break;
|
||||
case DROPDOWN_ARROW:
|
||||
return &SelectArrowDropDown_DropDown_Appearance;
|
||||
return &SelectArrowDropDown_DropDown;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_REGION:
|
||||
return &SelectScrollRegionDropDown_DropDown_Appearance;
|
||||
return &SelectScrollRegionDropDown_DropDown;
|
||||
break;
|
||||
case DROPDOWN_SCROLL_MOVEMENT:
|
||||
return &SelectScrollMovementDropDown_DropDown_Appearance;
|
||||
return &SelectScrollMovementDropDown_DropDown;
|
||||
break;
|
||||
}
|
||||
|
||||
|
||||
+11
-10
@@ -250,17 +250,18 @@ void RenderIMPPrejudice( void )
|
||||
RenderProfileBackGround();
|
||||
|
||||
IMPPrejudiceDisplay();
|
||||
|
||||
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();
|
||||
|
||||
// reversed order - lower boxes first. It is otherwise possible that open boxes are overlayed by closed boxes
|
||||
DropDownTemplate<DROPDOWNNR_SEXIST>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_RACE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_RACIST>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITYCARE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_HATEDNATIONALITY>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_NATIONALITY>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENTCARE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_REFINEMENT>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCECARE>::getInstance().Display();
|
||||
DropDownTemplate<DROPDOWNNR_APPEARANCE>::getInstance().Display();
|
||||
}
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user