mirror of
https://github.com/gryf/wmaker.git
synced 2025-12-20 04:48:06 +01:00
Make draw string plugin more extendable in future.
This commit is contained in:
@@ -2211,7 +2211,7 @@ getTextRenderer(WScreen *scr, WDefaultEntry *entry, proplist_t value,
|
|||||||
func = PLGetString(elem);
|
func = PLGetString(elem);
|
||||||
scr->drawstring_func[changed] = wPluginCreateFunction (W_FUNCTION_DRAWSTRING,
|
scr->drawstring_func[changed] = wPluginCreateFunction (W_FUNCTION_DRAWSTRING,
|
||||||
lib, "initDrawString", func, "destroyDrawString", value,
|
lib, "initDrawString", func, "destroyDrawString", value,
|
||||||
wPluginPackInitData(3, dpy, scr->w_colormap,"-DATA-"));
|
wPluginPackData(3, dpy, scr->w_colormap,"-DATA-"));
|
||||||
}
|
}
|
||||||
|
|
||||||
return getColor(scr, entry, PLGetArrayElement(value,3), addr, ret);
|
return getColor(scr, entry, PLGetArrayElement(value,3), addr, ret);
|
||||||
|
|||||||
@@ -1085,10 +1085,10 @@ wFrameWindowPaint(WFrameWindow *fwin)
|
|||||||
if (scr->drawstring_func[fwin->flags.state + fwin->drawstring_proc_offset]) {
|
if (scr->drawstring_func[fwin->flags.state + fwin->drawstring_proc_offset]) {
|
||||||
scr->drawstring_func[fwin->flags.state + fwin->drawstring_proc_offset]->
|
scr->drawstring_func[fwin->flags.state + fwin->drawstring_proc_offset]->
|
||||||
proc.drawString(scr->drawstring_func[fwin->flags.state
|
proc.drawString(scr->drawstring_func[fwin->flags.state
|
||||||
+ fwin->drawstring_proc_offset]->arg,
|
+ fwin->drawstring_proc_offset]->arg, fwin->titlebar->window,
|
||||||
fwin->titlebar->window, *fwin->title_gc,
|
x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE,
|
||||||
*fwin->font, x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE,
|
fwin->titlebar->width, fwin->top_width,
|
||||||
fwin->titlebar->width, fwin->top_width, fwin->title, titlelen);
|
fwin->title, wPluginPackData(2, *fwin->title_gc, *fwin->font));
|
||||||
} else {
|
} else {
|
||||||
WMDrawString(scr->wmscreen, fwin->titlebar->window,
|
WMDrawString(scr->wmscreen, fwin->titlebar->window,
|
||||||
*fwin->title_gc, *fwin->font, x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE,
|
*fwin->title_gc, *fwin->font, x, *fwin->title_clearance + TITLEBAR_EXTEND_SPACE,
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
|
|
||||||
|
|
||||||
void**
|
void**
|
||||||
wPluginPackInitData(int members, ...)
|
wPluginPackData(int members, ...)
|
||||||
{
|
{
|
||||||
void **p;
|
void **p;
|
||||||
va_list vp;
|
va_list vp;
|
||||||
@@ -56,9 +56,7 @@ wPluginPackInitData(int members, ...)
|
|||||||
va_start(vp, members);
|
va_start(vp, members);
|
||||||
for(i=0;i<members;i++) {
|
for(i=0;i<members;i++) {
|
||||||
p[i] = va_arg(vp, void *);
|
p[i] = va_arg(vp, void *);
|
||||||
printf(" %d > %d\n",i,(int)p[i]);
|
|
||||||
}
|
}
|
||||||
printf(" s> %s\n",(char*)p[2]);
|
|
||||||
va_end(vp);
|
va_end(vp);
|
||||||
return p;
|
return p;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -95,6 +95,6 @@ WFunction* wPluginCreateFunction(int type, char *library_name,
|
|||||||
|
|
||||||
void wPluginDestroyFunction(WFunction *function);
|
void wPluginDestroyFunction(WFunction *function);
|
||||||
|
|
||||||
void** wPluginPackInitData(int members, ...);
|
void** wPluginPackData(int members, ...);
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|||||||
Reference in New Issue
Block a user