add utf8 support, scaling and positioning missing.
This commit is contained in:
		
							
								
								
									
										24
									
								
								sent.c
									
									
									
									
									
								
							
							
						
						
									
										24
									
								
								sent.c
									
									
									
									
									
								
							@ -122,6 +122,7 @@ static int slidecount = 0;
 | 
				
			|||||||
static XWindow xw;
 | 
					static XWindow xw;
 | 
				
			||||||
static struct DC dc;
 | 
					static struct DC dc;
 | 
				
			||||||
static Drw *d = NULL;
 | 
					static Drw *d = NULL;
 | 
				
			||||||
 | 
					static ClrScheme sc;
 | 
				
			||||||
static int running = 1;
 | 
					static int running = 1;
 | 
				
			||||||
static char *opt_font = NULL;
 | 
					static char *opt_font = NULL;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -413,6 +414,8 @@ void cleanup(struct DC *cur)
 | 
				
			|||||||
		return;
 | 
							return;
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						drw_clr_free(sc.border);
 | 
				
			||||||
 | 
						drw_clr_free(sc.fg);
 | 
				
			||||||
	drw_free(d);
 | 
						drw_free(d);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	XDestroyWindow(xw.dpy, xw.win);
 | 
						XDestroyWindow(xw.dpy, xw.win);
 | 
				
			||||||
@ -533,10 +536,12 @@ void xdraw()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	XClearWindow(xw.dpy, xw.win);
 | 
						XClearWindow(xw.dpy, xw.win);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	if (!im)
 | 
						if (!im) {
 | 
				
			||||||
		XDrawString(xw.dpy, xw.win, dc->gc, (xw.w - width)/2, (xw.h + height)/2,
 | 
					//		XDrawString(xw.dpy, xw.win, dc->gc, (xw.w - width)/2, (xw.h + height)/2,
 | 
				
			||||||
				slides[idx].text, line_len);
 | 
					//				slides[idx].text, line_len);
 | 
				
			||||||
	else if (!(im->state & LOADED) && !pngread(im))
 | 
							drw_text(d, (xw.w - width)/2, (xw.h + height)/2, 100, 20, slides[idx].text, line_len);
 | 
				
			||||||
 | 
							drw_map(d, xw.win, 0, 0, xw.w, xw.h);
 | 
				
			||||||
 | 
						} else if (!(im->state & LOADED) && !pngread(im))
 | 
				
			||||||
		eprintf("could not read image %s", slides[idx].text + 1);
 | 
							eprintf("could not read image %s", slides[idx].text + 1);
 | 
				
			||||||
	else if (!(im->state & SCALED) && !pngprepare(im))
 | 
						else if (!(im->state & SCALED) && !pngprepare(im))
 | 
				
			||||||
		eprintf("could not prepare image %s for drawing", slides[idx].text + 1);
 | 
							eprintf("could not prepare image %s for drawing", slides[idx].text + 1);
 | 
				
			||||||
@ -587,6 +592,10 @@ void xinit()
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	if(!(d = drw_create(xw.dpy, xw.scr, xw.win, xw.w, xw.h)))
 | 
						if(!(d = drw_create(xw.dpy, xw.scr, xw.win, xw.w, xw.h)))
 | 
				
			||||||
		eprintf("Can't create drawing context.");
 | 
							eprintf("Can't create drawing context.");
 | 
				
			||||||
 | 
						sc.border = drw_clr_create(d, "#FFFFFF");
 | 
				
			||||||
 | 
						sc.bg = sc.border;
 | 
				
			||||||
 | 
						sc.fg = drw_clr_create(d, "#000000");
 | 
				
			||||||
 | 
						drw_setscheme(d, &sc);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	xloadfonts(opt_font ? opt_font : font);
 | 
						xloadfonts(opt_font ? opt_font : font);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@ -616,6 +625,13 @@ void xloadfonts(char *fontstr)
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	memset(&gcvalues, 0, sizeof(gcvalues));
 | 
						memset(&gcvalues, 0, sizeof(gcvalues));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
						const char *fonts[] = {
 | 
				
			||||||
 | 
							"Sans:size=10.5",
 | 
				
			||||||
 | 
							"VL Gothic:size=10.5",
 | 
				
			||||||
 | 
							"WenQuanYi Micro Hei:size=10.5",
 | 
				
			||||||
 | 
						};
 | 
				
			||||||
 | 
						drw_load_fonts(d, fonts, LEN(fonts));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	do {
 | 
						do {
 | 
				
			||||||
		if (!(fnt = xloadqueryscalablefont(fstr[count], FONTSZ(i)))) {
 | 
							if (!(fnt = xloadqueryscalablefont(fstr[count], FONTSZ(i)))) {
 | 
				
			||||||
			i++;
 | 
								i++;
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user