⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pixmap.c

📁 EGui是一个开源的图形系统软件,类似于QT/Embedded、GTK-FB、MicroWindow。目标是嵌入式平台整合解 决方案。基于Linux Framebuffer 设备驱动上实现。有完
💻 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 + -