Cleaning headers
This commit is contained in:
parent
c82ce3f356
commit
97531743dd
10 changed files with 90 additions and 97 deletions
|
@ -1,6 +1,8 @@
|
||||||
#ifndef __BUS_H
|
#ifndef __BUS_H
|
||||||
#define __BUS_H
|
#define __BUS_H
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef __CPU_H
|
#ifndef __CPU_H
|
||||||
#define __CPU_H
|
#define __CPU_H
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
typedef struct {
|
typedef struct {
|
||||||
|
|
|
@ -2,6 +2,7 @@
|
||||||
#define __DISPLAY_H
|
#define __DISPLAY_H
|
||||||
|
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,8 @@
|
||||||
#ifndef __EMULATOR_H
|
#ifndef __EMULATOR_H
|
||||||
#define __EMULATOR_H
|
#define __EMULATOR_H
|
||||||
|
|
||||||
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "types.h"
|
#include "types.h"
|
||||||
|
|
||||||
enum EmulatorStates { EMULATOR_STOP, EMULATOR_STEP, EMULATOR_RUN };
|
enum EmulatorStates { EMULATOR_STOP, EMULATOR_STEP, EMULATOR_RUN };
|
||||||
|
|
|
@ -15,6 +15,8 @@
|
||||||
#include "ports.h"
|
#include "ports.h"
|
||||||
#include "config.h"
|
#include "config.h"
|
||||||
|
|
||||||
|
#define MAX_LENGTH_FILENAME 2048
|
||||||
|
|
||||||
extern byte current_bank;
|
extern byte current_bank;
|
||||||
extern byte* port2;
|
extern byte* port2;
|
||||||
extern address port2mask;
|
extern address port2mask;
|
||||||
|
|
|
@ -1,10 +1,6 @@
|
||||||
#ifndef __PFILES_H
|
#ifndef __PFILES_H
|
||||||
#define __PFILES_H
|
#define __PFILES_H
|
||||||
|
|
||||||
#include "types.h"
|
|
||||||
|
|
||||||
#define MAX_LENGTH_FILENAME 2048
|
|
||||||
|
|
||||||
extern void get_absolute_working_dir_path();
|
extern void get_absolute_working_dir_path();
|
||||||
|
|
||||||
extern int file_size( char* filename );
|
extern int file_size( char* filename );
|
||||||
|
|
85
src/gui.c
85
src/gui.c
|
@ -14,10 +14,83 @@
|
||||||
|
|
||||||
#define PANEL_FLAG_VISIBLE 0x01
|
#define PANEL_FLAG_VISIBLE 0x01
|
||||||
|
|
||||||
extern SDL_Renderer* renderer;
|
#define UI_SCALE 4
|
||||||
|
|
||||||
TTF_Font* ttffont = NULL;
|
#define UI_PADDING 4
|
||||||
TTF_Font* ttffont2 = NULL;
|
#define UI_KEY_PADDING 4
|
||||||
|
|
||||||
|
#define ANNUNC_X UI_PADDING
|
||||||
|
#define ANNUNC_Y UI_PADDING
|
||||||
|
#define ANNUNC_HEIGHT 8
|
||||||
|
|
||||||
|
#define LCD_X UI_PADDING
|
||||||
|
#define LCD_Y ( UI_PADDING + ANNUNC_HEIGHT + UI_PADDING )
|
||||||
|
|
||||||
|
#define UI_K_WIDTH_1 22
|
||||||
|
#define UI_K_HEIGHT_1 ( UI_K_WIDTH_1 * 0.65 )
|
||||||
|
#define UI_K_WIDTH_2 26
|
||||||
|
#define UI_K_HEIGHT_2 ( UI_K_WIDTH_2 * 0.65 )
|
||||||
|
|
||||||
|
#define UI_KB_OFFSET_Y ( UI_PADDING + ANNUNC_HEIGHT + LCD_HEIGHT + UI_PADDING )
|
||||||
|
|
||||||
|
#define UI_K_WIDTH_enter ( UI_K_WIDTH_1 * 2 )
|
||||||
|
|
||||||
|
#define Y_LINE( i ) ( UI_KB_OFFSET_Y + ( i * UI_K_HEIGHT_2 ) )
|
||||||
|
#define X_COL( i ) ( UI_PADDING + ( UI_K_WIDTH_1 * i ) )
|
||||||
|
#define X2_COL( i ) ( UI_PADDING + ( UI_K_WIDTH_2 * i ) )
|
||||||
|
|
||||||
|
#define UI_KB_HEIGHT ( UI_SCALE * Y_LINE( 9 ) )
|
||||||
|
|
||||||
|
/* Button flags:
|
||||||
|
* Use BUTTON_B1RELEASE for normal buttons.
|
||||||
|
* Use BUTTON_B1RELEASE | BUTTON_B2TOGGLE for calculator buttons.
|
||||||
|
* Use BUTTON_B1TOGGLE for toggle buttons
|
||||||
|
*/
|
||||||
|
// Set if button is pushed
|
||||||
|
#define BUTTON_PUSHED 0x01
|
||||||
|
// If set the button will be grayed out
|
||||||
|
#define BUTTON_DISABLED 0x02
|
||||||
|
// Mouse button 1 toggles this button
|
||||||
|
#define BUTTON_B1TOGGLE 0x04
|
||||||
|
// Mouse button 2 toggles this button
|
||||||
|
#define BUTTON_B2TOGGLE 0x08
|
||||||
|
// Releaseing mouse button 1 anywhere unpushes the button
|
||||||
|
#define BUTTON_B1RELEASE 0x10
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
int index;
|
||||||
|
int x, y;
|
||||||
|
int w, h;
|
||||||
|
int flags;
|
||||||
|
char* label;
|
||||||
|
char* label_Lshift;
|
||||||
|
char* label_Rshift;
|
||||||
|
char* label_letter;
|
||||||
|
char* label_below;
|
||||||
|
void ( *down )( void );
|
||||||
|
void ( *up )( void );
|
||||||
|
} Button;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
SDL_Color faceplate;
|
||||||
|
|
||||||
|
SDL_Color lcd_pixoff;
|
||||||
|
SDL_Color lcd_pixgray1;
|
||||||
|
SDL_Color lcd_pixgray2;
|
||||||
|
SDL_Color lcd_pixon;
|
||||||
|
|
||||||
|
SDL_Color button_bg;
|
||||||
|
SDL_Color button_active;
|
||||||
|
SDL_Color button_inactive;
|
||||||
|
SDL_Color label;
|
||||||
|
SDL_Color Lshift;
|
||||||
|
SDL_Color Rshift;
|
||||||
|
SDL_Color letter;
|
||||||
|
SDL_Color below;
|
||||||
|
} colors_t;
|
||||||
|
|
||||||
|
static TTF_Font* ttffont = NULL;
|
||||||
|
static TTF_Font* ttffont2 = NULL;
|
||||||
|
|
||||||
bool SDL_ready = false;
|
bool SDL_ready = false;
|
||||||
|
|
||||||
|
@ -41,9 +114,9 @@ SDL_Texture* textures_labels_below[ 49 ];
|
||||||
SDL_Surface* surfaces_labels_letter[ 49 ];
|
SDL_Surface* surfaces_labels_letter[ 49 ];
|
||||||
SDL_Texture* textures_labels_letter[ 49 ];
|
SDL_Texture* textures_labels_letter[ 49 ];
|
||||||
|
|
||||||
const int std_flags = BUTTON_B1RELEASE | BUTTON_B2TOGGLE;
|
static const int std_flags = BUTTON_B1RELEASE | BUTTON_B2TOGGLE;
|
||||||
|
|
||||||
Button gui_buttons[] = {
|
static Button gui_buttons[] = {
|
||||||
{0, X_COL( 0 ), Y_LINE( 0 ), UI_K_WIDTH_1, UI_K_HEIGHT_1, std_flags, "", "", "", "A", "", press_A, release_A },
|
{0, X_COL( 0 ), Y_LINE( 0 ), UI_K_WIDTH_1, UI_K_HEIGHT_1, std_flags, "", "", "", "A", "", press_A, release_A },
|
||||||
{1, X_COL( 1 ), Y_LINE( 0 ), UI_K_WIDTH_1, UI_K_HEIGHT_1, std_flags, "", "", "", "B", "", press_B, release_B },
|
{1, X_COL( 1 ), Y_LINE( 0 ), UI_K_WIDTH_1, UI_K_HEIGHT_1, std_flags, "", "", "", "B", "", press_B, release_B },
|
||||||
{2, X_COL( 2 ), Y_LINE( 0 ), UI_K_WIDTH_1, UI_K_HEIGHT_1, std_flags, "", "", "", "C", "", press_C, release_C },
|
{2, X_COL( 2 ), Y_LINE( 0 ), UI_K_WIDTH_1, UI_K_HEIGHT_1, std_flags, "", "", "", "C", "", press_C, release_C },
|
||||||
|
@ -106,7 +179,7 @@ Button gui_buttons[] = {
|
||||||
{49, X_COL( 0 ), Y_LINE( 9 ), 40, UI_K_HEIGHT_2, std_flags, "load file", "", "", "", "", press_LoadFile, release_LoadFile},
|
{49, X_COL( 0 ), Y_LINE( 9 ), 40, UI_K_HEIGHT_2, std_flags, "load file", "", "", "", "", press_LoadFile, release_LoadFile},
|
||||||
};
|
};
|
||||||
|
|
||||||
colors_t colors = {
|
static colors_t colors = {
|
||||||
.faceplate = {.r = 48, .g = 68, .b = 90, .a = 255},
|
.faceplate = {.r = 48, .g = 68, .b = 90, .a = 255},
|
||||||
|
|
||||||
.lcd_pixoff = {.r = 119, .g = 153, .b = 136, .a = 255},
|
.lcd_pixoff = {.r = 119, .g = 153, .b = 136, .a = 255},
|
||||||
|
|
85
src/gui.h
85
src/gui.h
|
@ -1,93 +1,10 @@
|
||||||
#ifndef __GUI_H
|
#ifndef __GUI_H
|
||||||
#define __GUI_H
|
#define __GUI_H
|
||||||
|
|
||||||
#include <SDL2/SDL.h>
|
#include <stdbool.h>
|
||||||
|
|
||||||
#include "types.h"
|
|
||||||
|
|
||||||
#define UI_SCALE 4
|
|
||||||
|
|
||||||
#define UI_PADDING 4
|
|
||||||
#define UI_KEY_PADDING 4
|
|
||||||
|
|
||||||
#define ANNUNC_X UI_PADDING
|
|
||||||
#define ANNUNC_Y UI_PADDING
|
|
||||||
#define ANNUNC_HEIGHT 8
|
|
||||||
|
|
||||||
#define LCD_X UI_PADDING
|
|
||||||
#define LCD_Y ( UI_PADDING + ANNUNC_HEIGHT + UI_PADDING )
|
|
||||||
|
|
||||||
#define UI_K_WIDTH_1 22
|
|
||||||
#define UI_K_HEIGHT_1 ( UI_K_WIDTH_1 * 0.65 )
|
|
||||||
#define UI_K_WIDTH_2 26
|
|
||||||
#define UI_K_HEIGHT_2 ( UI_K_WIDTH_2 * 0.65 )
|
|
||||||
|
|
||||||
#define UI_KB_OFFSET_Y ( UI_PADDING + ANNUNC_HEIGHT + LCD_HEIGHT + UI_PADDING )
|
|
||||||
|
|
||||||
#define UI_K_WIDTH_enter ( UI_K_WIDTH_1 * 2 )
|
|
||||||
|
|
||||||
#define Y_LINE( i ) ( UI_KB_OFFSET_Y + ( i * UI_K_HEIGHT_2 ) )
|
|
||||||
#define X_COL( i ) ( UI_PADDING + ( UI_K_WIDTH_1 * i ) )
|
|
||||||
#define X2_COL( i ) ( UI_PADDING + ( UI_K_WIDTH_2 * i ) )
|
|
||||||
|
|
||||||
#define UI_KB_HEIGHT ( UI_SCALE * Y_LINE( 9 ) )
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
int index;
|
|
||||||
int x, y;
|
|
||||||
int w, h;
|
|
||||||
int flags;
|
|
||||||
char* label;
|
|
||||||
char* label_Lshift;
|
|
||||||
char* label_Rshift;
|
|
||||||
char* label_letter;
|
|
||||||
char* label_below;
|
|
||||||
void ( *down )( void );
|
|
||||||
void ( *up )( void );
|
|
||||||
} Button;
|
|
||||||
|
|
||||||
typedef struct {
|
|
||||||
SDL_Color faceplate;
|
|
||||||
|
|
||||||
SDL_Color lcd_pixoff;
|
|
||||||
SDL_Color lcd_pixgray1;
|
|
||||||
SDL_Color lcd_pixgray2;
|
|
||||||
SDL_Color lcd_pixon;
|
|
||||||
|
|
||||||
SDL_Color button_bg;
|
|
||||||
SDL_Color button_active;
|
|
||||||
SDL_Color button_inactive;
|
|
||||||
SDL_Color label;
|
|
||||||
SDL_Color Lshift;
|
|
||||||
SDL_Color Rshift;
|
|
||||||
SDL_Color letter;
|
|
||||||
SDL_Color below;
|
|
||||||
} colors_t;
|
|
||||||
extern colors_t colors;
|
|
||||||
|
|
||||||
extern SDL_Renderer* renderer;
|
|
||||||
extern SDL_Window* window;
|
|
||||||
extern SDL_Texture* texTarget;
|
|
||||||
extern SDL_Texture* tex2Target;
|
|
||||||
|
|
||||||
extern bool SDL_ready;
|
extern bool SDL_ready;
|
||||||
|
|
||||||
/* Button flags:
|
|
||||||
* Use BUTTON_B1RELEASE for normal buttons.
|
|
||||||
* Use BUTTON_B1RELEASE | BUTTON_B2TOGGLE for calculator buttons.
|
|
||||||
* Use BUTTON_B1TOGGLE for toggle buttons
|
|
||||||
*/
|
|
||||||
// Set if button is pushed
|
|
||||||
#define BUTTON_PUSHED 0x01
|
|
||||||
// If set the button will be grayed out
|
|
||||||
#define BUTTON_DISABLED 0x02
|
|
||||||
// Mouse button 1 toggles this button
|
|
||||||
#define BUTTON_B1TOGGLE 0x04
|
|
||||||
// Mouse button 2 toggles this button
|
|
||||||
#define BUTTON_B2TOGGLE 0x08
|
|
||||||
// Releaseing mouse button 1 anywhere unpushes the button
|
|
||||||
#define BUTTON_B1RELEASE 0x10
|
|
||||||
|
|
||||||
extern void SDL__display_show( void );
|
extern void SDL__display_show( void );
|
||||||
|
|
||||||
extern bool gui_events();
|
extern bool gui_events();
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
#ifndef __KEYBOARD_H
|
#ifndef __KEYBOARD_H
|
||||||
#define __KEYBOARD_H
|
#define __KEYBOARD_H
|
||||||
|
|
||||||
#include "types.h"
|
#include <stdbool.h>
|
||||||
|
|
||||||
extern bool kbd_on;
|
extern bool kbd_on;
|
||||||
|
|
||||||
|
|
|
@ -1,8 +1,6 @@
|
||||||
#ifndef __TYPES_H
|
#ifndef __TYPES_H
|
||||||
#define __TYPES_H
|
#define __TYPES_H
|
||||||
|
|
||||||
#include <stdbool.h>
|
|
||||||
|
|
||||||
#define MIN( a, b ) ( ( a ) < ( b ) ? ( a ) : ( b ) )
|
#define MIN( a, b ) ( ( a ) < ( b ) ? ( a ) : ( b ) )
|
||||||
|
|
||||||
typedef unsigned char nibble;
|
typedef unsigned char nibble;
|
||||||
|
|
Loading…
Reference in a new issue