“SDL_AddTimer” From Within A C++ Class???
Hi,
Is it possible to use “SDL_AddTimer” from within a C++ class?
Getting this error:
Code:
C:\Users\jezlee\Desktop\ChaosTimer\src\screens.cpp|21|error: argument of type ‘Uint32 (Screens::)(Uint32, void*)’ does not match ‘Uint32 ()(Uint32, void)’
Here is my relevant source code:
Code:
#include “SDL.h”
#include “SDL_image.h”
#include “SDL_mixer.h”
#include “SDL_ttf.h”
#include “SDL_opengl.h”
#include “screens.h”
#include “visuals.h”
#include “input.h”
extern Visuals* visuals;
extern Input* input;
//-------------------------------------------------------------------------------------------------
Screens::Screens(void)
{
ScreenIsDirty = true;
ScreenToDisplay = SixteenBitSoftScreen;
ScreenDisplayTimer = SDL_AddTimer(16, ProcessScreenToDisplay, NULL); //<--ERROR HERE!!!
}
//-------------------------------------------------------------------------------------------------
Screens::~Screens(void)
{
SDL_RemoveTimer(ScreenDisplayTimer);
}
//-------------------------------------------------------------------------------------------------
Uint32 Screens::ProcessScreenToDisplay(Uint32 interval, void *param)
{
input->GetAllUserInput();
switch(ScreenToDisplay)
{
case SixteenBitSoftScreen:
DisplaySixteenBitSoftScreen();
break;
default:
break;
}
return(interval);
}
//-------------------------------------------------------------------------------------------------
void Screens::DisplaySixteenBitSoftScreen(void)
{
if (ScreenIsDirty == true)
{
visuals->ClearScreenBufferWithColor(0, 0, 0, 255);
visuals->Sprites[1].ScreenX = 320;
visuals->Sprites[1].ScreenY = 240;
visuals->Sprites[1].ScaleX = 5.0;
visuals->Sprites[1].ScaleY = 8.0;
visuals->Sprites[1].Smooth = false;
visuals->DrawSpriteOntoScreenBuffer(1);
visuals->DrawTextOntoScreenBuffer("TM", visuals->FontDefault[2]
, 55, 295, JustifyRight, 1, 255, 1, 1, 1, 1);
visuals->DrawTextOntoScreenBuffer("Bringing back old memories from the 16bit era!", visuals->FontDefault[1]
, 0, 307, JustifyCenter, 1, 255, 1, 1, 1, 1);
visuals->DrawTextOntoScreenBuffer("www.16BitSoft.com", visuals->FontDefault[0]
, 0, 447, JustifyCenter, 1, 255, 1, 1, 90, 1);
}
}------------------------
JeZ+Lee
JessePalser <AT> Gmail <DOT> com
16BitSoft®
Video Game Design Studio
www.16BitSoft.com