less flickering for x11
git-svn-id: http://svn2.nishi.boats/svn/milsko/trunk@322 b9cfdab3-6d41-4d17-bbe4-086880011989
This commit is contained in:
parent
1adce781eb
commit
27bf409a88
5 changed files with 27 additions and 11 deletions
|
|
@ -276,6 +276,11 @@ void MwLLFreeColor(MwLLColor color) {
|
|||
free(color);
|
||||
}
|
||||
|
||||
void MwLLSetBackground(MwLL handle, MwLLColor color) {
|
||||
(void)handle;
|
||||
(void)color;
|
||||
}
|
||||
|
||||
void MwLLGetXYWH(MwLL handle, int* x, int* y, unsigned int* w, unsigned int* h) {
|
||||
RECT rc;
|
||||
|
||||
|
|
|
|||
|
|
@ -174,6 +174,10 @@ void MwLLFreeColor(MwLLColor color) {
|
|||
free(color);
|
||||
}
|
||||
|
||||
void MwLLSetBackground(MwLL handle, MwLLColor color) {
|
||||
XSetWindowBackground(handle->display, handle->window, color->pixel);
|
||||
}
|
||||
|
||||
int MwLLPending(MwLL handle) {
|
||||
XEvent ev;
|
||||
if(XCheckTypedWindowEvent(handle->display, handle->window, ClientMessage, &ev) || XCheckWindowEvent(handle->display, handle->window, mask, &ev)) {
|
||||
|
|
|
|||
|
|
@ -275,6 +275,11 @@ void MwSetText(MwWidget handle, const char* key, const char* value) {
|
|||
shput(handle->text, key, v);
|
||||
}
|
||||
if(handle->prop_event) MwDispatch3(handle, prop_change, key);
|
||||
if(strcmp(key, MwNbackground) == 0) {
|
||||
MwLLColor c = MwParseColor(handle, value);
|
||||
MwLLSetBackground(handle->lowlevel, c);
|
||||
MwLLFreeColor(c);
|
||||
}
|
||||
if(strcmp(key, MwNbackground) == 0 || strcmp(key, MwNforeground) == 0) {
|
||||
MwForceRender(handle);
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue