Revert "Add menu selection flicker"

This reverts commit bd9676be40.
This commit is contained in:
elasota
2020-05-22 20:22:40 -04:00
parent 9c32a6fdd4
commit 8f433c11e8

View File

@@ -13,7 +13,6 @@
#include "PLPasStr.h" #include "PLPasStr.h"
#include "PLResources.h" #include "PLResources.h"
#include "PLStandardColors.h" #include "PLStandardColors.h"
#include "PLSysCalls.h"
#include "PLTimeTaggedVOSEvent.h" #include "PLTimeTaggedVOSEvent.h"
#include "PLQDOffscreen.h" #include "PLQDOffscreen.h"
#include "RenderedFont.h" #include "RenderedFont.h"
@@ -181,16 +180,9 @@ namespace PortabilityLayer
void SelectItem(size_t item); void SelectItem(size_t item);
void ClearSelection(); void ClearSelection();
void AnimateItemSelection();
private: private:
void RenderMenu(Menu *menu); void RenderMenu(Menu *menu);
RGBAColor FlickerAnimateColor(const RGBAColor &color) const;
static const unsigned int kNumSelectionFlickerFrames = 16;
unsigned int m_menuSelectionFlickerFrame;
THandle<Menu> m_currentMenu; THandle<Menu> m_currentMenu;
DrawSurface *m_menuGraf; DrawSurface *m_menuGraf;
Vec2i m_popupPosition; Vec2i m_popupPosition;
@@ -692,8 +684,6 @@ namespace PortabilityLayer
{ {
if (const unsigned int *selectedItem = m_menuSelectionState.GetSelectedItem()) if (const unsigned int *selectedItem = m_menuSelectionState.GetSelectedItem())
{ {
m_menuSelectionState.AnimateItemSelection();
if (outMenu) if (outMenu)
*outMenu = (*menuHdl)->menuID; *outMenu = (*menuHdl)->menuID;
@@ -749,8 +739,6 @@ namespace PortabilityLayer
if (const unsigned int *selectedItem = m_menuSelectionState.GetSelectedItem()) if (const unsigned int *selectedItem = m_menuSelectionState.GetSelectedItem())
{ {
m_menuSelectionState.AnimateItemSelection();
if (outItem) if (outItem)
*outItem = (*selectedItem) + 1; *outItem = (*selectedItem) + 1;
} }
@@ -1243,7 +1231,6 @@ namespace PortabilityLayer
, m_haveItem(false) , m_haveItem(false)
, m_isPopup(false) , m_isPopup(false)
, m_itemIndex(0) , m_itemIndex(0)
, m_menuSelectionFlickerFrame(0)
{ {
} }
@@ -1365,20 +1352,6 @@ namespace PortabilityLayer
RenderMenu(*m_currentMenu); RenderMenu(*m_currentMenu);
} }
void MenuManagerImpl::MenuSelectionState::AnimateItemSelection()
{
Menu *menu = *m_currentMenu;
for (int i = 0; i < kNumSelectionFlickerFrames; i++)
{
m_menuSelectionFlickerFrame++;
RenderMenu(menu);
PLSysCalls::Sleep(1);
}
m_menuSelectionFlickerFrame = 0;
}
void MenuManagerImpl::MenuSelectionState::RenderMenu(Menu *menu) void MenuManagerImpl::MenuSelectionState::RenderMenu(Menu *menu)
{ {
PortabilityLayer::QDManager *qdManager = PortabilityLayer::QDManager::GetInstance(); PortabilityLayer::QDManager *qdManager = PortabilityLayer::QDManager::GetInstance();
@@ -1469,15 +1442,15 @@ namespace PortabilityLayer
const MenuItem &selectedItem = menu->menuItems[m_itemIndex]; const MenuItem &selectedItem = menu->menuItems[m_itemIndex];
const Rect itemRect = Rect::Create(selectedItem.layoutYOffset, 0, selectedItem.layoutYOffset + selectedItem.layoutHeight, menu->layoutWidth); const Rect itemRect = Rect::Create(selectedItem.layoutYOffset, 0, selectedItem.layoutYOffset + selectedItem.layoutHeight, menu->layoutWidth);
PortabilityLayer::ResolveCachingColor barHighlightMidColor = FlickerAnimateColor(gs_barHighlightMidColor); PortabilityLayer::ResolveCachingColor barHighlightMidColor = gs_barHighlightMidColor;
surface->FillRect(itemRect, barHighlightMidColor); surface->FillRect(itemRect, barHighlightMidColor);
ResolveCachingColor barHighlightBrightColor = FlickerAnimateColor(gs_barHighlightBrightColor); ResolveCachingColor barHighlightBrightColor = gs_barHighlightBrightColor;
surface->FillRect(Rect::Create(itemRect.top, 0, itemRect.bottom, 1), barHighlightBrightColor); surface->FillRect(Rect::Create(itemRect.top, 0, itemRect.bottom, 1), barHighlightBrightColor);
if (m_itemIndex == 0) if (m_itemIndex == 0)
surface->FillRect(Rect::Create(0, 1, 1, itemRect.right - 1), barHighlightBrightColor); surface->FillRect(Rect::Create(0, 1, 1, itemRect.right - 1), barHighlightBrightColor);
ResolveCachingColor barHighlightDarkColor = FlickerAnimateColor(gs_barHighlightDarkColor); ResolveCachingColor barHighlightDarkColor = gs_barHighlightDarkColor;
surface->FillRect(Rect::Create(itemRect.top, itemRect.right - 1, itemRect.bottom, itemRect.right), barHighlightDarkColor); surface->FillRect(Rect::Create(itemRect.top, itemRect.right - 1, itemRect.bottom, itemRect.right), barHighlightDarkColor);
if (m_itemIndex == menu->numMenuItems - 1) if (m_itemIndex == menu->numMenuItems - 1)
surface->FillRect(Rect::Create(itemRect.bottom - 1, 1, itemRect.bottom, itemRect.right - 1), barHighlightDarkColor); surface->FillRect(Rect::Create(itemRect.bottom - 1, 1, itemRect.bottom, itemRect.right - 1), barHighlightDarkColor);
@@ -1508,16 +1481,6 @@ namespace PortabilityLayer
SetGraphicsPort(oldGraf); SetGraphicsPort(oldGraf);
} }
RGBAColor MenuManagerImpl::MenuSelectionState::FlickerAnimateColor(const RGBAColor &color) const
{
const unsigned int frame = m_menuSelectionFlickerFrame;
if (frame % 8 < 4)
return color;
else
return RGBAColor::Create(kMidGray, kMidGray, kMidGray, 255);
}
MenuManager *MenuManager::GetInstance() MenuManager *MenuManager::GetInstance()
{ {
return MenuManagerImpl::GetInstance(); return MenuManagerImpl::GetInstance();