mirror of
https://github.com/gryf/wmaker.git
synced 2026-01-25 00:35:45 +01:00
bug fixes, performance enhancement for image rendering
This commit is contained in:
15
wrlib/view.c
15
wrlib/view.c
@@ -9,6 +9,8 @@ RContext *ctx;
|
||||
RImage *img;
|
||||
Pixmap pix;
|
||||
|
||||
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
RContextAttributes attr;
|
||||
@@ -19,7 +21,7 @@ int main(int argc, char **argv)
|
||||
exit(1);
|
||||
}
|
||||
attr.flags = RC_RenderMode | RC_ColorsPerChannel;
|
||||
attr.render_mode = RM_DITHER;
|
||||
attr.render_mode = RDitheredRendering;
|
||||
attr.colors_per_channel = 4;
|
||||
ctx = RCreateContext(dpy, DefaultScreen(dpy), &attr);
|
||||
if (argc<2)
|
||||
@@ -31,18 +33,27 @@ int main(int argc, char **argv)
|
||||
puts(RMessageForError(RErrorCode));
|
||||
exit(1);
|
||||
}
|
||||
/*
|
||||
if (argc > 2) {
|
||||
RImage *tmp = img;
|
||||
|
||||
img = RSmoothScaleImage(tmp, tmp->width*atol(argv[2]),
|
||||
tmp->height*atol(argv[2]));
|
||||
RDestroyImage(tmp);
|
||||
}
|
||||
*/
|
||||
|
||||
if (argc > 2) {
|
||||
img = RScaleImage(img, img->width*atof(argv[2]),
|
||||
img->height*atof(argv[2]));
|
||||
}
|
||||
if (!RConvertImage(ctx, img, &pix)) {
|
||||
puts(RMessageForError(RErrorCode));
|
||||
exit(1);
|
||||
}
|
||||
win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10, img->width,
|
||||
|
||||
win = XCreateSimpleWindow(dpy, DefaultRootWindow(dpy), 10, 10,
|
||||
img->width,
|
||||
img->height, 0, 0, 0);
|
||||
RDestroyImage(img);
|
||||
XSetWindowBackgroundPixmap(dpy, win, pix);
|
||||
|
||||
Reference in New Issue
Block a user