robmcmullen-apple2/src/gui/diskselector.h
Shamus Hammons 01d41f5b9d Improvements to timing, disk selector; added Double LoRes.
Having taken a good look at "Understanding the Apple IIe", I've fixed
the timing of one frame now that I know how much time it's supposed to
take. Also added the ability to recurse into subdirectories of the disks
directory, and the ability to page through the disk list when there are
more than three columns of disks. Another thing I did not know about was
Double LoRes, that has been added as well; also, did not know that the
video bus appeared at memory mapped locations that weren't attached to
anything. This quirk is now properly emulated.
2017-06-21 22:57:57 -05:00

34 lines
866 B
C++

#ifndef __DISKSELECTOR_H__
#define __DISKSELECTOR_H__
#include <stdint.h>
#include <SDL2/SDL.h>
class DiskSelector
{
public:
DiskSelector() {}
~DiskSelector() {}
// Everything is class methods/variables
static void Init(SDL_Renderer *);
static void FindDisks();
static void FindDisks(const char *);
static bool HasLegalExtension(const char *);
static void DrawFilenames(SDL_Renderer *);
static void DrawCharacter(SDL_Renderer *, int, int, uint8_t, bool inv=false);
static void ShowWindow(int);
static void MouseDown(int32_t, int32_t, uint32_t);
static void MouseUp(int32_t, int32_t, uint32_t);
static void MouseMove(int32_t, int32_t, uint32_t);
static void HandleSelection(SDL_Renderer *);
static void HandleGUIState(void);
static void Render(SDL_Renderer *);
public:
static bool showWindow;
};
#endif // __DISKSELECTOR_H__