mirror of
https://github.com/HASwitchPlate/openHASP.git
synced 2025-07-25 20:26:41 +00:00
Add variable windows size for native apps
This commit is contained in:
parent
06fac902fd
commit
a20da57b9b
@ -49,7 +49,7 @@ void TftSdl::init(int w, int h)
|
|||||||
|
|
||||||
/* Add a display
|
/* Add a display
|
||||||
* Use the 'monitor' driver which creates window on PC's monitor to simulate a display*/
|
* Use the 'monitor' driver which creates window on PC's monitor to simulate a display*/
|
||||||
monitor_init(MONITOR_HOR_RES, MONITOR_VER_RES);
|
monitor_init(w, h); // (MONITOR_HOR_RES, MONITOR_VER_RES);
|
||||||
monitor_title(haspDevice.get_hostname());
|
monitor_title(haspDevice.get_hostname());
|
||||||
|
|
||||||
/* Add the mouse as input device
|
/* Add the mouse as input device
|
||||||
|
@ -176,8 +176,8 @@ void guiSetup()
|
|||||||
lv_disp_drv_init(&disp_drv);
|
lv_disp_drv_init(&disp_drv);
|
||||||
disp_drv.buffer = &disp_buf;
|
disp_drv.buffer = &disp_buf;
|
||||||
disp_drv.flush_cb = gui_flush_cb;
|
disp_drv.flush_cb = gui_flush_cb;
|
||||||
disp_drv.hor_res = TFT_WIDTH;
|
disp_drv.hor_res = tft_width;
|
||||||
disp_drv.ver_res = TFT_HEIGHT;
|
disp_drv.ver_res = tft_height;
|
||||||
|
|
||||||
switch(gui_settings.rotation) {
|
switch(gui_settings.rotation) {
|
||||||
case 1:
|
case 1:
|
||||||
@ -185,13 +185,13 @@ void guiSetup()
|
|||||||
case 5:
|
case 5:
|
||||||
case 7:
|
case 7:
|
||||||
// lv_disp_set_rotation(display, LV_DISP_ROT_90);
|
// lv_disp_set_rotation(display, LV_DISP_ROT_90);
|
||||||
disp_drv.hor_res = TFT_HEIGHT;
|
disp_drv.hor_res = tft_height;
|
||||||
disp_drv.ver_res = TFT_WIDTH;
|
disp_drv.ver_res = tft_width;
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
// lv_disp_set_rotation(display, LV_DISP_ROT_NONE);
|
// lv_disp_set_rotation(display, LV_DISP_ROT_NONE);
|
||||||
disp_drv.hor_res = TFT_WIDTH;
|
disp_drv.hor_res = tft_width;
|
||||||
disp_drv.ver_res = TFT_HEIGHT;
|
disp_drv.ver_res = tft_height;
|
||||||
}
|
}
|
||||||
lv_disp_t* display = lv_disp_drv_register(&disp_drv);
|
lv_disp_t* display = lv_disp_drv_register(&disp_drv);
|
||||||
(void)display; // unused
|
(void)display; // unused
|
||||||
|
@ -25,7 +25,7 @@
|
|||||||
#include "hasp_conf.h"
|
#include "hasp_conf.h"
|
||||||
|
|
||||||
#include "lvgl.h"
|
#include "lvgl.h"
|
||||||
#include "app_hal.h"
|
// #include "app_hal.h"
|
||||||
#include "display/monitor.h"
|
#include "display/monitor.h"
|
||||||
|
|
||||||
#include "hasp_debug.h"
|
#include "hasp_debug.h"
|
||||||
@ -42,6 +42,9 @@ bool isRunning = 1;
|
|||||||
uint8_t mainLoopCounter = 0;
|
uint8_t mainLoopCounter = 0;
|
||||||
unsigned long mainLastLoopTime = 0;
|
unsigned long mainLastLoopTime = 0;
|
||||||
|
|
||||||
|
extern uint16_t tft_width;
|
||||||
|
extern uint16_t tft_height;
|
||||||
|
|
||||||
#if defined(WINDOWS)
|
#if defined(WINDOWS)
|
||||||
// https://gist.github.com/kingseva/a918ec66079a9475f19642ec31276a21
|
// https://gist.github.com/kingseva/a918ec66079a9475f19642ec31276a21
|
||||||
void BindStdHandlesToConsole()
|
void BindStdHandlesToConsole()
|
||||||
@ -136,8 +139,8 @@ void setup()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
mainLastLoopTime = millis() - 1000; // reset loop counter
|
mainLastLoopTime = millis() - 1000; // reset loop counter
|
||||||
delay(250);
|
|
||||||
printf("%s %d\n", __FILE__, __LINE__);
|
printf("%s %d\n", __FILE__, __LINE__);
|
||||||
|
// delay(250);
|
||||||
}
|
}
|
||||||
|
|
||||||
void loop()
|
void loop()
|
||||||
@ -237,19 +240,27 @@ int main(int argc, char* argv[])
|
|||||||
// Change to preferences dir
|
// Change to preferences dir
|
||||||
std::cout << "\nCommand-line arguments:\n";
|
std::cout << "\nCommand-line arguments:\n";
|
||||||
for(count = 0; count < argc; count++)
|
for(count = 0; count < argc; count++)
|
||||||
std::cout << " argv[" << count << "] " << argv[count] << "\n" << std::endl << std::flush;
|
std::cout << " argv[" << count << "] " << argv[count] << std::endl << std::flush;
|
||||||
|
|
||||||
for(count = 0; count < argc; count++) {
|
for(count = 0; count < argc; count++) {
|
||||||
if(argv[count][0] == '-') {
|
if(argv[count][0] == '-') {
|
||||||
|
|
||||||
if(strncmp(argv[count], "--help", 6) == 0 || strncmp(argv[count], "-h", 2) == 0) {
|
if(strncmp(argv[count], "--help", 6) == 0 || strncmp(argv[count], "-h", 2) == 0) {
|
||||||
std::cout << " argv[" << count << "] " << argv[count] << "\n" << std::endl << std::flush;
|
showhelp = true;
|
||||||
fflush(stdout);
|
|
||||||
exit(0);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if(strncmp(argv[count], "--name", 6) == 0) {
|
if(strncmp(argv[count], "--width", 7) == 0 || strncmp(argv[count], "-x", 2) == 0) {
|
||||||
std::cout << " argv[" << count << "] " << argv[count] << "\n" << std::endl << std::flush;
|
int w = atoi(argv[count + 1]);
|
||||||
|
if(w > 0) tft_width = w;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strncmp(argv[count], "--height", 8) == 0 || strncmp(argv[count], "-y", 2) == 0) {
|
||||||
|
int h = atoi(argv[count + 1]);
|
||||||
|
if(h > 0) tft_height = h;
|
||||||
|
}
|
||||||
|
|
||||||
|
if(strncmp(argv[count], "--name", 6) == 0 || strncmp(argv[count], "-n", 2) == 0) {
|
||||||
|
std::cout << " argv[" << count << "] " << argv[count] << std::endl << std::flush;
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
if(count + 1 < argc) {
|
if(count + 1 < argc) {
|
||||||
haspDevice.set_hostname(argv[count + 1]);
|
haspDevice.set_hostname(argv[count + 1]);
|
||||||
@ -264,9 +275,11 @@ int main(int argc, char* argv[])
|
|||||||
usage("openHASP");
|
usage("openHASP");
|
||||||
|
|
||||||
#if defined(WINDOWS)
|
#if defined(WINDOWS)
|
||||||
WriteConsole(std_out, "bye", 3, NULL, NULL);
|
WriteConsole(std_out, "bye\n", 3, NULL, NULL);
|
||||||
|
std::cout << std::endl << std::flush;
|
||||||
|
fflush(stdout);
|
||||||
FreeConsole();
|
FreeConsole();
|
||||||
|
exit(0);
|
||||||
#endif
|
#endif
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
@ -275,6 +288,7 @@ int main(int argc, char* argv[])
|
|||||||
// fflush(stdout);
|
// fflush(stdout);
|
||||||
|
|
||||||
debugPrintHaspHeader(stdout);
|
debugPrintHaspHeader(stdout);
|
||||||
|
LOG_NOTICE(TAG_MAIN, "resolution %d x %d", tft_width, tft_height);
|
||||||
LOG_NOTICE(TAG_MAIN, "pre setup");
|
LOG_NOTICE(TAG_MAIN, "pre setup");
|
||||||
|
|
||||||
setup();
|
setup();
|
||||||
|
@ -49,7 +49,6 @@ build_flags =
|
|||||||
;-D NO_PERSISTENCE
|
;-D NO_PERSISTENCE
|
||||||
-I.pio/libdeps/windows_sdl_64bits/paho/src
|
-I.pio/libdeps/windows_sdl_64bits/paho/src
|
||||||
-I.pio/libdeps/windows_sdl_64bits/ArduinoJson/src
|
-I.pio/libdeps/windows_sdl_64bits/ArduinoJson/src
|
||||||
-I lib/ArduinoJson/src
|
|
||||||
-I lib/lv_fs_if
|
-I lib/lv_fs_if
|
||||||
!python -c "import os; print(' '.join(['-I {}'.format(i[0].replace('\x5C','/')) for i in os.walk('hal/sdl2')]))"
|
!python -c "import os; print(' '.join(['-I {}'.format(i[0].replace('\x5C','/')) for i in os.walk('hal/sdl2')]))"
|
||||||
-mconsole
|
-mconsole
|
||||||
|
Loading…
x
Reference in New Issue
Block a user