mirror of
https://github.com/robmcmullen/apple2.git
synced 2024-06-02 08:41:36 +00:00
01d41f5b9d
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.
34 lines
866 B
C++
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__
|
|
|