another ugly cast removal

master
Andrzej Rybczak 17 years ago
parent 2c66178663
commit 7c936d8eaf
  1. 8
      src/ncmpcpp.cpp
  2. 14
      src/screen.h

@ -186,9 +186,6 @@ int main(int argc, char *argv[])
gettimeofday(&now, 0);
// this type of casting is absolutely hillarious lol
Screen<Window> *&myWindow = *(Screen<Window> **)(void *)&myScreen;
while (!main_exit)
{
if (!Mpd->Connected())
@ -246,10 +243,9 @@ int main(int argc, char *argv[])
// header stuff end
myScreen->Update();
myScreen->RefreshWindow();
myScreen->ReadKey(input);
myWindow->Main()->Display();
myWindow->Main()->ReadKey(input);
if (input == ERR)
continue;

@ -43,6 +43,8 @@ class BasicScreen
virtual void Update() { }
virtual void Refresh() = 0;
virtual void RefreshWindow() = 0;
virtual void ReadKey(int &) = 0;
virtual void Scroll(Where, const int * = 0) = 0;
virtual void EnterPressed() { }
@ -70,6 +72,8 @@ template <class WindowType> class Screen : public BasicScreen
WindowType *&Main();
virtual void Refresh();
virtual void RefreshWindow();
virtual void ReadKey(int &input);
virtual void Scroll(Where where, const int *);
protected:
@ -91,6 +95,16 @@ template <class WindowType> void Screen<WindowType>::Refresh()
w->Display();
}
template <class WindowType> void Screen<WindowType>::RefreshWindow()
{
w->Display();
}
template <class WindowType> void Screen<WindowType>::ReadKey(int &input)
{
w->ReadKey(input);
}
template <class WindowType> void Screen<WindowType>::Scroll(Where where, const int *key)
{
if (!Config.fancy_scrolling && key)

Loading…
Cancel
Save