📄 pixmap.c
字号:
/******************************************************** * Egui code,LGPL * Function : pixmap * Author: asmcos@hotmail.com * Data : 2006-03-22 * $Id: pixmap.c,v 1.1 2006/04/09 23:35:46 hjs Exp $ ********************************************************/#include <Egui.h>#include <widget.h>Efont *font;EGui_Widget * new_pixmap ( EGui_Widget *pwidget ,short x,short y,short w,short h){ EGui_Widget * pixmap; widget_list * list; EGui_Wfunc * pixmap_wfunc; EGui_Pixmap * Pixmap ; pixmap = (EGui_Widget *) malloc(sizeof (EGui_Widget)); if (pixmap == NULL) { printf ("malloc new pixmap failed\n "); return (EGui_Widget * )NULL; } pixmap_wfunc = (EGui_Wfunc *) malloc (sizeof(EGui_Wfunc)); if (pixmap_wfunc == NULL) { printf ("malloc new pixmap_wfunc failed\n "); return (EGui_Widget * )NULL; } memset(pixmap_wfunc,0,sizeof(EGui_Wfunc)); Pixmap = (EGui_Pixmap *) malloc (sizeof(EGui_Pixmap)); if (Pixmap == NULL) { printf ("malloc new pixmap failed\n "); return (EGui_Widget * )NULL; } pixmap->x = pwidget->x + x; pixmap->y = pwidget->y + y; pixmap->width = pixmap->x + w; pixmap->height = pixmap->y + h; pixmap->type = PIXMAP; pixmap->func = pixmap_wfunc; pixmap->parent = pwidget; pixmap->window = pwidget->window; pixmap->child = NULL; pwidget->child = pixmap; pixmap->wpoint = Pixmap; pixmap_init (pixmap_wfunc); strcpy (pixmap->name,"pixmap"); add_newqueue (pixmap); return pixmap;}void pixmap_show (EGui_Widget * widget){ widget->status = DISPLAY_ALL;}voidpixmap_set (EGui_Widget * widget,EGui_Pixmap * p){ EGui_Pixmap * Pixmap; Pixmap = (EGui_Pixmap *)widget->wpoint; Pixmap->width = p->width; Pixmap->height = p->height; Pixmap->buffer = p->buffer;}void pixmap_draw (EGui_Widget * widget){ short x,y,w,h,pw,ph; EGui_Window *window; EGui_Widget * pixmap; EGui_Pixmap * Pixmap; char * buffer; pixmap = widget; Pixmap = (EGui_Pixmap *)widget->wpoint; x = pixmap->x; y = pixmap->y; w = pixmap->width - x; h = pixmap->height - y ; pw = Pixmap->width ; ph = Pixmap->height ; buffer = Pixmap->buffer; window = pixmap->window; if (widget->status == DISPLAY_ALL) { Egui_drawpixmap (x,y,w,h,buffer, 0, 0,pw,ph, pixmap->window); } }intpixmap_init (EGui_Wfunc * pixmap_wfunc){ pixmap_wfunc->show = pixmap_show; pixmap_wfunc->draw = pixmap_draw; return 0;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -