forked from pyrite-dev/milsko
fix gdi and add dummy chart
This commit is contained in:
parent
2ae8f67b53
commit
efd1d32801
7 changed files with 102 additions and 13 deletions
|
|
@ -7,6 +7,7 @@
|
||||||
#define PaddingContent 2
|
#define PaddingContent 2
|
||||||
|
|
||||||
MwWidget window, menu, table;
|
MwWidget window, menu, table;
|
||||||
|
MwWidget wcal, wclock;
|
||||||
MwMenu e;
|
MwMenu e;
|
||||||
|
|
||||||
static void MWAPI resize(MwWidget handle, void* user, void* call) {
|
static void MWAPI resize(MwWidget handle, void* user, void* call) {
|
||||||
|
|
@ -21,6 +22,24 @@ static void MWAPI resize(MwWidget handle, void* user, void* call) {
|
||||||
NULL);
|
NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void MWAPI tick(MwWidget handle, void* user, void* call) {
|
||||||
|
time_t t = time(NULL);
|
||||||
|
struct tm tm = *localtime(&t);
|
||||||
|
|
||||||
|
MwVaApply(wcal,
|
||||||
|
MwNyear, (int)tm.tm_year + 1900,
|
||||||
|
MwNmonth, (int)tm.tm_mon,
|
||||||
|
MwNdate, (int)tm.tm_mday,
|
||||||
|
MwNday, (int)tm.tm_wday,
|
||||||
|
NULL);
|
||||||
|
|
||||||
|
MwVaApply(wclock,
|
||||||
|
MwNhour, (int)tm.tm_hour,
|
||||||
|
MwNminute, (int)tm.tm_min,
|
||||||
|
MwNsecond, (int)tm.tm_sec,
|
||||||
|
NULL);
|
||||||
|
}
|
||||||
|
|
||||||
static void MWAPI resize_content(MwWidget handle, void* user, void* call) {
|
static void MWAPI resize_content(MwWidget handle, void* user, void* call) {
|
||||||
MwWidget* ws = MwGetChildren(handle);
|
MwWidget* ws = MwGetChildren(handle);
|
||||||
if(ws != NULL) {
|
if(ws != NULL) {
|
||||||
|
|
@ -241,17 +260,15 @@ int main() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
f = frame("Calendar", -PaddingContent, -PaddingContent, MwCalendarClass,
|
f = frame("Calendar", -PaddingContent, -PaddingContent, MwCalendarClass,
|
||||||
MwNscale, 1,
|
MwNscale, 1,
|
||||||
NULL);
|
NULL);
|
||||||
|
wcal = child(f);
|
||||||
|
|
||||||
f = frame("Clock", -PaddingContent, -PaddingContent, MwClockClass,
|
f = frame("Clock", -PaddingContent, -PaddingContent, MwClockClass, NULL);
|
||||||
MwNhour, 15,
|
wclock = child(f);
|
||||||
MwNminute, 0,
|
|
||||||
MwNsecond, 10,
|
|
||||||
NULL);
|
|
||||||
|
|
||||||
f = frame("Chart", -PaddingContent, -PaddingContent, MwCalendarClass,
|
f = frame("Chart", -PaddingContent, -PaddingContent, MwChartClass,
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
f = frame("ComboBox", -PaddingContent, 24, MwComboBoxClass, NULL);
|
f = frame("ComboBox", -PaddingContent, 24, MwComboBoxClass, NULL);
|
||||||
|
|
@ -321,7 +338,9 @@ int main() {
|
||||||
NULL);
|
NULL);
|
||||||
|
|
||||||
MwAddUserHandler(window, MwNresizeHandler, resize, NULL);
|
MwAddUserHandler(window, MwNresizeHandler, resize, NULL);
|
||||||
|
MwAddUserHandler(window, MwNtickHandler, tick, NULL);
|
||||||
|
|
||||||
|
tick(window, NULL, NULL);
|
||||||
resize(window, NULL, NULL);
|
resize(window, NULL, NULL);
|
||||||
|
|
||||||
MwVaApply(table,
|
MwVaApply(table,
|
||||||
|
|
|
||||||
|
|
@ -36,6 +36,7 @@
|
||||||
#include <Mw/Widget/Box.h>
|
#include <Mw/Widget/Box.h>
|
||||||
#include <Mw/Widget/Button.h>
|
#include <Mw/Widget/Button.h>
|
||||||
#include <Mw/Widget/Calendar.h>
|
#include <Mw/Widget/Calendar.h>
|
||||||
|
#include <Mw/Widget/Chart.h>
|
||||||
#include <Mw/Widget/CheckBox.h>
|
#include <Mw/Widget/CheckBox.h>
|
||||||
#include <Mw/Widget/Clock.h>
|
#include <Mw/Widget/Clock.h>
|
||||||
#include <Mw/Widget/ComboBox.h>
|
#include <Mw/Widget/ComboBox.h>
|
||||||
|
|
|
||||||
24
include/Mw/Widget/Chart.h
Normal file
24
include/Mw/Widget/Chart.h
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
/*!
|
||||||
|
* @file Mw/Widget/Chart.h
|
||||||
|
* @brief Chart widget
|
||||||
|
*/
|
||||||
|
#ifndef __MW_WIDGET_CHART_H__
|
||||||
|
#define __MW_WIDGET_CHART_H__
|
||||||
|
|
||||||
|
#include <Mw/MachDep.h>
|
||||||
|
#include <Mw/TypeDefs.h>
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/*!
|
||||||
|
* @brief Chart widget class
|
||||||
|
*/
|
||||||
|
MWDECL MwClass MwChartClass;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
|
@ -1000,11 +1000,11 @@ static void MwLLMakeToolWindowImpl(MwLL handle) {
|
||||||
RECT rc;
|
RECT rc;
|
||||||
int w, h;
|
int w, h;
|
||||||
|
|
||||||
|
GetClientRect(handle->gdi.hWnd, &rc);
|
||||||
|
|
||||||
SetWindowLongPtr(handle->gdi.hWnd, GWL_STYLE, (LPARAM)lp);
|
SetWindowLongPtr(handle->gdi.hWnd, GWL_STYLE, (LPARAM)lp);
|
||||||
SetWindowLongPtr(handle->gdi.hWnd, GWL_EXSTYLE, (LPARAM)WS_EX_TOOLWINDOW);
|
SetWindowLongPtr(handle->gdi.hWnd, GWL_EXSTYLE, (LPARAM)WS_EX_TOOLWINDOW);
|
||||||
|
|
||||||
GetClientRect(handle->gdi.hWnd, &rc);
|
|
||||||
|
|
||||||
w = rc.right - rc.left;
|
w = rc.right - rc.left;
|
||||||
h = rc.bottom - rc.top;
|
h = rc.bottom - rc.top;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1984,7 +1984,7 @@ static int MwLLWaylandCallInitImpl(void) {
|
||||||
|
|
||||||
#ifdef MW_OPENGL
|
#ifdef MW_OPENGL
|
||||||
if(getenv("WSLENV") || getenv("WSL_DISTRO_NAME")) {
|
if(getenv("WSLENV") || getenv("WSL_DISTRO_NAME")) {
|
||||||
loadWayland = 1;
|
loadWayland = 0;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -5,7 +5,7 @@
|
||||||
#ifdef USE_COCOA
|
#ifdef USE_COCOA
|
||||||
#define PERIODIC
|
#define PERIODIC
|
||||||
#endif
|
#endif
|
||||||
//#define USE_CLASSIC_THEME
|
// #define USE_CLASSIC_THEME
|
||||||
#define RESIZE_ON_TICK
|
#define RESIZE_ON_TICK
|
||||||
|
|
||||||
#define DRAW(handle) \
|
#define DRAW(handle) \
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,45 @@
|
||||||
|
#include <Mw/Milsko.h>
|
||||||
|
|
||||||
|
static int wcreate(MwWidget handle) {
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void draw(MwWidget handle) {
|
||||||
|
MwLLColor base = MwParseColor(handle, MwGetText(handle, MwNbackground));
|
||||||
|
MwRect r;
|
||||||
|
|
||||||
|
r.x = 0;
|
||||||
|
r.y = 0;
|
||||||
|
r.width = MwGetInteger(handle, MwNwidth);
|
||||||
|
r.height = MwGetInteger(handle, MwNheight);
|
||||||
|
MwDrawRect(handle, &r, base);
|
||||||
|
|
||||||
|
MwLLFreeColor(base);
|
||||||
|
}
|
||||||
|
|
||||||
|
static void prop_change(MwWidget handle, const char* key) {
|
||||||
|
if(strcmp(key, MwNhour) == 0 || strcmp(key, MwNminute) == 0 || strcmp(key, MwNsecond) == 0) MwForceRender(handle);
|
||||||
|
}
|
||||||
|
|
||||||
|
MwClassRec MwChartClassRec = {
|
||||||
|
wcreate, /* create */
|
||||||
|
NULL, /* destroy */
|
||||||
|
draw, /* draw */
|
||||||
|
NULL, /* click */
|
||||||
|
NULL, /* parent_resize */
|
||||||
|
prop_change, /* prop_change */
|
||||||
|
NULL, /* mouse_move */
|
||||||
|
NULL, /* mouse_up */
|
||||||
|
NULL, /* mouse_down */
|
||||||
|
NULL, /* key */
|
||||||
|
NULL, /* execute */
|
||||||
|
NULL, /* tick */
|
||||||
|
NULL, /* resize */
|
||||||
|
NULL, /* children_update */
|
||||||
|
NULL, /* children_prop_change */
|
||||||
|
NULL, /* clipboard */
|
||||||
|
NULL, /* props_change */
|
||||||
|
NULL,
|
||||||
|
NULL,
|
||||||
|
NULL};
|
||||||
|
MwClass MwChartClass = &MwChartClassRec;
|
||||||
Loading…
Add table
Add a link
Reference in a new issue