mirror of
https://github.com/mauiaaron/apple2.git
synced 2024-06-26 00:29:27 +00:00
Allow querying whether the classic interface is showing
This commit is contained in:
parent
58d2392eac
commit
25e4fd0eba
|
@ -22,6 +22,8 @@ int64_t (*interface_onTouchEvent)(interface_touch_event_t action, int pointer_co
|
||||||
|
|
||||||
static uint8_t *stagingFB = NULL;
|
static uint8_t *stagingFB = NULL;
|
||||||
|
|
||||||
|
static bool isShowing = false;
|
||||||
|
|
||||||
static char disk_path[PATH_MAX] = { 0 };
|
static char disk_path[PATH_MAX] = { 0 };
|
||||||
|
|
||||||
// 2015/04/12 : This was legacy code for rendering the menu interfaces on desktop Linux. Portions here are resurrected
|
// 2015/04/12 : This was legacy code for rendering the menu interfaces on desktop Linux. Portions here are resurrected
|
||||||
|
@ -1512,10 +1514,12 @@ static void *interface_thread(void *data)
|
||||||
|
|
||||||
switch (interface_key->current_key) {
|
switch (interface_key->current_key) {
|
||||||
case kF1:
|
case kF1:
|
||||||
|
isShowing = true;
|
||||||
c_interface_select_diskette( 0 );
|
c_interface_select_diskette( 0 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kF2:
|
case kF2:
|
||||||
|
isShowing = true;
|
||||||
c_interface_select_diskette( 1 );
|
c_interface_select_diskette( 1 );
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1528,18 +1532,22 @@ static void *interface_thread(void *data)
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kF5:
|
case kF5:
|
||||||
|
isShowing = true;
|
||||||
c_interface_keyboard_layout();
|
c_interface_keyboard_layout();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kF7:
|
case kF7:
|
||||||
|
isShowing = true;
|
||||||
c_interface_debugging(stagingFB);
|
c_interface_debugging(stagingFB);
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kF8:
|
case kF8:
|
||||||
|
isShowing = true;
|
||||||
c_interface_credits();
|
c_interface_credits();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case kF10:
|
case kF10:
|
||||||
|
isShowing = true;
|
||||||
c_interface_parameters();
|
c_interface_parameters();
|
||||||
break;
|
break;
|
||||||
|
|
||||||
|
@ -1550,6 +1558,7 @@ static void *interface_thread(void *data)
|
||||||
cpu_resume();
|
cpu_resume();
|
||||||
|
|
||||||
interface_thread_id = 0;
|
interface_thread_id = 0;
|
||||||
|
isShowing = false;
|
||||||
pthread_mutex_unlock(&classic_interface_lock);
|
pthread_mutex_unlock(&classic_interface_lock);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -1568,5 +1577,9 @@ void c_interface_begin(int current_key)
|
||||||
pthread_detach(interface_thread_id);
|
pthread_detach(interface_thread_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool interface_isShowing(void) {
|
||||||
|
return isShowing;
|
||||||
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@ void c_interface_credits();
|
||||||
void c_interface_exit(int ch);
|
void c_interface_exit(int ch);
|
||||||
void c_interface_translate_screen(char screen[24][INTERFACE_SCREEN_X+1]);
|
void c_interface_translate_screen(char screen[24][INTERFACE_SCREEN_X+1]);
|
||||||
void c_interface_select_diskette(int);
|
void c_interface_select_diskette(int);
|
||||||
|
bool interface_isShowing(void);
|
||||||
void interface_setStagingFramebuffer(uint8_t *stagingFB);
|
void interface_setStagingFramebuffer(uint8_t *stagingFB);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user