亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? batterygauge.c

?? 電源管理程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
/*  Copyright (C) 1999 Nathan Sidwell <nathan@acm.org> *  $Id: BatteryGauge.c,v 1.1 1999/08/02 20:08:10 apenwarr Exp $ *  This file is available under the GNU General Public License. *//*{{{  includes*/#include <X11/X.h>#include <X11/IntrinsicP.h>#include <X11/StringDefs.h>#include <X11/Xmu/Drawing.h>#include <X11/Shell.h>#include <X11/Xaw/Label.h>#include "BatteryGaugeP.h"#include <apm.h>/*}}}*//*{{{  resources*/static XtResource resources[] ={  {XtNorientation, XtCOrientation, XtROrientation, sizeof(XtOrientation),      XtOffsetOf(BatteryGaugeRec, batteryGauge.orientation),      XtRImmediate, (XtPointer)XtorientVertical},  {XtNlength, XtCLength, XtRDimension, sizeof(Dimension),       XtOffsetOf(BatteryGaugeRec, batteryGauge.length),       XtRImmediate, (XtPointer)0},  {XtNthickness, XtCThickness, XtRDimension, sizeof(Dimension),       XtOffsetOf(BatteryGaugeRec, batteryGauge.thickness),       XtRImmediate, (XtPointer)0},  {XtNflash, XtCDelay, XtRInt, sizeof(int),      XtOffsetOf(BatteryGaugeRec, batteryGauge.flashDelay),      XtRImmediate, (XtPointer)250},  {XtNupdate, XtCDelay, XtRInt, sizeof(int),      XtOffsetOf(BatteryGaugeRec, batteryGauge.updateDelay),      XtRImmediate, (XtPointer)15},  {XtNlowColor, XtCForeground, XtRPixel, sizeof(Pixel),      XtOffsetOf(BatteryGaugeRec, batteryGauge.lowColor),      XtRString, (XtPointer)"orange"},  {XtNhighColor, XtCForeground, XtRPixel, sizeof(Pixel),      XtOffsetOf(BatteryGaugeRec, batteryGauge.highColor),      XtRString, (XtPointer)"green"},  {XtNcriticalColor, XtCForeground, XtRPixel, sizeof(Pixel),      XtOffsetOf(BatteryGaugeRec, batteryGauge.criticalColor),      XtRString, (XtPointer)"red"},  {XtNchargingColor, XtCBackground, XtRPixel, sizeof(Pixel),      XtOffsetOf(BatteryGaugeRec, batteryGauge.chargingColor),      XtRString, (XtPointer)"blue"},  {XtNcriticalLevel, XtCValue, XtRInt, sizeof(int),      XtOffsetOf(BatteryGaugeRec, batteryGauge.criticalLevel),      XtRImmediate, (XtPointer)0},  {XtNlevel, XtCValue, XtRInt, sizeof(int),      XtOffsetOf(BatteryGaugeRec, batteryGauge.level),      XtRImmediate, (XtPointer)0},  {XtNstatus, XtCValue, XtRInt, sizeof(int),      XtOffsetOf(BatteryGaugeRec, batteryGauge.status),      XtRImmediate, (XtPointer)-1},  {XtNlifetime, XtCValue, XtRInt, sizeof(int),      XtOffsetOf(BatteryGaugeRec, batteryGauge.lifetime),      XtRImmediate, (XtPointer)0},};/*}}}*//*{{{  translations*/static char translations[] ="\<BtnDown>: Notify()\n\<BtnUp>: Release()\n\";/*}}}*//*{{{  prototypes*//*{{{  methods*/static void ClassInitialize(void);static void Destroy(Widget);static void Initialize(Widget, Widget, ArgList, Cardinal *);static void Realize(Widget, XtValueMask *, XSetWindowAttributes *);static void Redisplay(Widget, XEvent *, Region);static void Resize(Widget);static Boolean SetValues(Widget, Widget, Widget, ArgList, Cardinal *);/*}}}*//*{{{  actions*/static void Notify(Widget, XEvent *, String *, Cardinal *);static void Release(Widget, XEvent *, String *, Cardinal *);/*}}}*//*{{{  helpers*/static void redraw(BatteryGaugeWidget me);static int setPosition(BatteryGaugeWidget me, int);static void setFlashTimeout(BatteryGaugeWidget me);static void flashTimeout(XtPointer, XtIntervalId *);static void updateLabel(BatteryGaugeWidget);static void updateTimeout(XtPointer, XtIntervalId *);/*}}}*//*}}}*//*{{{  actions*/static XtActionsRec actions[] ={  {"Notify", Notify},  {"Release", Release},};/*}}}*/#define SuperClass (&simpleClassRec)/*{{{  BatteryGaugeClassRec batteryGaugeClassRec =*/BatteryGaugeClassRec batteryGaugeClassRec ={  /*{{{  core class part*/  {    (WidgetClass)SuperClass,          /* superclass */    "BatteryGauge",                   /* class_name */    sizeof(BatteryGaugeRec),          /* size */    ClassInitialize,                  /* class_initialize */    NULL,                             /* class_part_initialize */    False,                            /* class_inited */    Initialize,                       /* initialize */    NULL,                             /* initialize_hook */    Realize,                          /* realize */    actions,                          /* actions */    XtNumber(actions),                /* num_actions */    resources,                        /* resources */    XtNumber(resources),              /* num_resources */    NULLQUARK,                        /* xrm_class */    True,                             /* compress_motion */    XtExposeCompressMultiple,         /* compress_exposure */    True,                             /* compress_enterleave */    False,                            /* visible_interest */    Destroy,                          /* destroy */    Resize,                           /* resize */    Redisplay,                        /* expose */    SetValues,                        /* set_values */    NULL,                             /* set_values_hook */    XtInheritSetValuesAlmost,         /* set_values_almost */    NULL,                             /* get_values_hook */    XtInheritAcceptFocus,             /* accept_focus */    XtVersion,                        /* version */    NULL,                             /* callback_private */    translations,                     /* default_translations */    XtInheritQueryGeometry,           /* query_geometry */    XtInheritDisplayAccelerator,      /* display_accelerator */    NULL,                             /* extension */  },  /*}}}*/  /*{{{  simple class part*/  {    XtInheritChangeSensitive      /* change_sensitive */  },  /*}}}*/  /*{{{  batteryGauge class part*/  {  },  /*}}}*/};/*}}}*/WidgetClass batteryGaugeWidgetClass = (WidgetClass)&batteryGaugeClassRec;/*{{{  methods*//*{{{  static void ClassInitialize()*/static void ClassInitialize()/* register the orientation resource converter */{  XtAddConverter(XtRString, XtROrientation, XmuCvtStringToOrientation,      (XtConvertArgList)NULL, (Cardinal)0);  return;}/*}}}*//*{{{  static void Destroy(Widget w)*/static void Destroy(Widget w)/* removes pending timeouts and workprocs */{  BatteryGaugeWidget me;    me = (BatteryGaugeWidget)w;  if(me->batteryGauge.updateTimeout != (XtIntervalId)0)    XtRemoveTimeOut(me->batteryGauge.updateTimeout);  if(me->batteryGauge.flashTimeout != (XtIntervalId)0)    XtRemoveTimeOut(me->batteryGauge.flashTimeout);  if(XtIsRealized((Widget)me))    XFreeGC(XtDisplay((Widget)me), me->batteryGauge.gc);  if(me->batteryGauge.popup)    XtDestroyWidget(me->batteryGauge.popup);  return;}/*}}}*//*{{{  static void Initialize(Widget request_w, Widget new_w, ArgList args, Cardinal *num_args)*/static void Initialize(Widget request_w, Widget new_w, ArgList args, Cardinal *num_args)/* initializes an instance of the batteryGauge widget * set the width and height from the thickness and length */{  BatteryGaugeWidget request_me;  BatteryGaugeWidget new_me;    new_me = (BatteryGaugeWidget)new_w;  request_me = (BatteryGaugeWidget)request_w;  if(!new_me->batteryGauge.thickness)    new_me->batteryGauge.thickness = 8;  if(!new_me->batteryGauge.length)    new_me->batteryGauge.length = new_me->batteryGauge.thickness;  if(new_me->batteryGauge.orientation != XtorientHorizontal)    {      if(!new_me->core.width)	new_me->core.width = new_me->batteryGauge.thickness;      if(!new_me->core.height)	new_me->core.height = new_me->batteryGauge.length;      new_me->batteryGauge.length = new_me->core.height;      new_me->batteryGauge.thickness = new_me->core.width;    }  else    {      if(!new_me->core.width)	new_me->core.width = new_me->batteryGauge.length;      if(!new_me->core.height)	new_me->core.height = new_me->batteryGauge.thickness;      new_me->batteryGauge.length = new_me->core.width;      new_me->batteryGauge.thickness = new_me->core.height;    }  new_me->batteryGauge.inverted = new_me->batteryGauge.flash =      new_me->batteryGauge.notified = 0;  new_me->batteryGauge.popup = new_me->batteryGauge.label = NULL;  new_me->batteryGauge.updateTimeout =      new_me->batteryGauge.flashTimeout = (XtIntervalId)0;  new_me->batteryGauge.popped = 0;  return;}/*}}}*//*{{{  static void Realize(Widget w, XtValueMask *valueMask, XSetWindowAttributes *attributes)*/static void Realize(Widget w, XtValueMask *valueMask, XSetWindowAttributes *attributes)/* realizes the batteryGauge widget * it is at this point that the  GC is allocated * set the idle cursor * clip the limits and value * set the batteryGauge position, but don't paint it */{  BatteryGaugeWidget me;    me = (BatteryGaugeWidget)w;  SuperClass->core_class.realize((Widget)me, valueMask, attributes);  /*{{{  create the gc*/  {    XGCValues gcValues;    XtGCMask  mask;    unsigned  depth;        depth = 1;    gcValues.function = GXcopy;    gcValues.foreground = 0; /* filled prior to drawing */    gcValues.background = 0;    gcValues.fill_style = FillSolid;    mask = GCForeground | GCFunction | GCFillStyle;    me->batteryGauge.gc = XCreateGC(XtDisplay((Widget)me),        XtWindow((Widget)me), mask, &gcValues);  }  /*}}}*/  updateTimeout((XtPointer)me, NULL);  return;}/*}}}*//*{{{  static void Redisplay(Widget  w, XEvent  *event, Region  region)*/static void Redisplay(Widget  w, XEvent  *event, Region  region){  BatteryGaugeWidget  me;    me = (BatteryGaugeWidget)w;  redraw(me);  return;}/*}}}*//*{{{  static void Resize(Widget  w)*/static void Resize(Widget  w)/*  * get the length and thickness from width and height */{  BatteryGaugeWidget me;    me = (BatteryGaugeWidget)w;  if(me->batteryGauge.orientation != XtorientHorizontal)    {      me->batteryGauge.length = me->core.height;      me->batteryGauge.thickness = me->core.width;    }  else    {      me->batteryGauge.length = me->core.width;      me->batteryGauge.thickness = me->core.height;    }  setPosition(me, -1);  return;}/*}}}*//*{{{  static Boolean SetValues(Widget current_w, Widget request_w, Widget new_w, ArgList args, Cardinal *num_args)*/static Boolean SetValues(Widget current_w, Widget request_w, Widget new_w, ArgList args, Cardinal *num_args)/* if thickness, length or orientation changed, then request * new geometry */{  BatteryGaugeWidget current_me;  /* this is how we look now */  BatteryGaugeWidget request_me;  /* this is what we were asked for */  BatteryGaugeWidget new_me;      /* this is what we'll end up with */  Boolean repaint;    current_me = (BatteryGaugeWidget)current_w;  request_me = (BatteryGaugeWidget)request_w;  new_me = (BatteryGaugeWidget)new_w;  repaint = False;  /*{{{  orientation changed?*/  if(new_me->batteryGauge.orientation != current_me->batteryGauge.orientation)    {      repaint = True;      new_me->core.width = new_me->batteryGauge.orientation != XtorientHorizontal ?  	  new_me->batteryGauge.thickness : new_me->batteryGauge.length;      new_me->core.height = new_me->batteryGauge.orientation != XtorientHorizontal ?  	  new_me->batteryGauge.length : new_me->batteryGauge.thickness;    }  /*}}}*/  /*{{{  length changed?*/  if(new_me->batteryGauge.length != current_me->batteryGauge.length)    {      if(new_me->batteryGauge.orientation != XtorientHorizontal)  	new_me->core.height = new_me->batteryGauge.length;      else  	new_me->core.width = new_me->batteryGauge.length;      repaint = True;    }  /*}}}*/  /*{{{  thickness changed?*/  if(new_me->batteryGauge.thickness != current_me->batteryGauge.thickness)    {      if(new_me->batteryGauge.orientation != XtorientHorizontal)  	new_me->core.width = new_me->batteryGauge.thickness;      else  	new_me->core.height = new_me->batteryGauge.thickness;      repaint = True;    }  /*}}}*/  /* we have to reset length and thickness to current dimensions,    * in case we never get resized */  if(new_me->batteryGauge.orientation != XtorientHorizontal)    {      new_me->batteryGauge.length = current_me->core.height;      new_me->batteryGauge.thickness = current_me->core.width;    }  else    {      new_me->batteryGauge.length = current_me->core.width;      new_me->batteryGauge.thickness = current_me->core.height;    }  if(XtIsRealized((Widget)new_me))    {      new_me->batteryGauge.level = current_me->batteryGauge.level;

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产成人tv| 在线观看视频一区二区| 日韩欧美专区在线| 日韩精品乱码免费| 欧美日韩国产美| 日韩电影在线免费看| 欧美日韩亚洲综合一区| 日韩成人dvd| 日韩欧美电影一区| 国产精品一区二区三区99| 精品国一区二区三区| 顶级嫩模精品视频在线看| 国产精品久久99| 欧美在线不卡视频| 视频精品一区二区| 精品国产乱码久久久久久闺蜜| 激情综合网av| 亚洲欧洲三级电影| 制服.丝袜.亚洲.另类.中文| 极品少妇一区二区三区精品视频 | 国产69精品久久99不卡| 国产精品久久精品日日| 欧美性生交片4| 国产米奇在线777精品观看| 国产精品盗摄一区二区三区| 欧美日韩黄色影视| 国产999精品久久| 日本中文字幕一区二区有限公司| 91麻豆精品国产91久久久更新时间| 国产在线精品免费av| 亚洲免费观看高清完整版在线观看熊| 91麻豆精品久久久久蜜臀| 91免费观看视频| 日日夜夜精品视频天天综合网| 国产精品电影一区二区三区| 日韩一区二区三区免费观看| 91污片在线观看| 国产成a人亚洲精| 国产主播一区二区三区| 日韩电影在线观看电影| 亚洲国产中文字幕在线视频综合 | 99精品视频一区二区| 国产一区二区三区电影在线观看| 亚洲成精国产精品女| 亚洲成人免费视频| 亚洲资源中文字幕| 一区二区视频在线| 成人免费一区二区三区在线观看| 久久精品免视看| 国产精品国产三级国产普通话99| 26uuu亚洲婷婷狠狠天堂| 精品国精品国产| 日韩写真欧美这视频| 久久综合九色综合欧美就去吻| 91精品免费观看| 久久亚洲二区三区| 国产女主播一区| 中文字幕日韩欧美一区二区三区| 国产精品免费av| 亚洲综合一区二区三区| 亚洲图片欧美综合| 韩国三级中文字幕hd久久精品| 狠狠久久亚洲欧美| www.亚洲国产| 欧美日韩国产免费一区二区| 日韩欧美国产电影| 中文字幕欧美一| 亚洲国产精品麻豆| 国产不卡一区视频| 色999日韩国产欧美一区二区| 欧美体内she精视频| 欧美va亚洲va| 成人欧美一区二区三区在线播放| 日韩高清不卡一区二区三区| 成人一区二区三区| 欧美高清视频不卡网| 中文字幕久久午夜不卡| 亚洲自拍偷拍欧美| 国产精品一区二区久久不卡 | 国产性做久久久久久| 亚洲大片在线观看| av一二三不卡影片| 欧美不卡在线视频| 日韩av中文字幕一区二区| 99国产一区二区三精品乱码| 日韩亚洲欧美在线观看| 一区二区在线观看视频在线观看| 国产一区视频导航| 欧美一二三区在线观看| 日韩精品乱码免费| 欧美日韩aaaaa| 夜夜揉揉日日人人青青一国产精品| 久久se精品一区精品二区| 欧美日韩一区三区| 亚洲国产美女搞黄色| 91黄色激情网站| 亚洲人成影院在线观看| 色一情一伦一子一伦一区| 国产精品美女久久久久久久网站| 国产成人av影院| 欧美精品一区二区高清在线观看 | 国产成人午夜视频| 国产区在线观看成人精品| 国产在线不卡一卡二卡三卡四卡| 精品国产凹凸成av人导航| 裸体健美xxxx欧美裸体表演| 欧美日韩国产免费一区二区| 奇米888四色在线精品| 久久综合九色综合97婷婷| 国产酒店精品激情| 亚洲激情图片一区| 51精品久久久久久久蜜臀| 国内精品免费在线观看| 国产精品毛片高清在线完整版| 成人午夜视频在线| 亚洲大片精品永久免费| 久久综合九色综合欧美亚洲| 成人国产在线观看| 日韩黄色小视频| 亚洲视频免费观看| 日韩三级伦理片妻子的秘密按摩| 国产成人综合亚洲网站| 中文字幕一区免费在线观看| 欧美丰满少妇xxxxx高潮对白| 国产精品91一区二区| 亚洲第一成人在线| 中文字幕视频一区| 久久丝袜美腿综合| 欧美精品亚洲二区| 91视视频在线观看入口直接观看www | 国产成人aaa| 免费在线观看精品| 一区二区三区精品视频| 欧美一三区三区四区免费在线看| 六月婷婷色综合| 美腿丝袜亚洲色图| 蜜臀av性久久久久蜜臀aⅴ| 亚洲综合成人在线| 亚洲一二三四区不卡| 亚洲精品一二三| 亚洲精品免费一二三区| 国产精品传媒在线| 亚洲人一二三区| 亚洲精选在线视频| 亚洲午夜一区二区| 偷窥少妇高潮呻吟av久久免费| 亚洲成在人线免费| 日韩电影免费在线| 老司机午夜精品99久久| 另类的小说在线视频另类成人小视频在线| 日韩中文字幕av电影| 日韩精品免费专区| 国产精品亚洲第一区在线暖暖韩国| 久久超级碰视频| 99国产精品99久久久久久| 色综合一区二区三区| 欧美疯狂做受xxxx富婆| 日韩欧美在线影院| 日本一区二区三区在线不卡| 亚洲欧美影音先锋| 午夜亚洲福利老司机| 九九热在线视频观看这里只有精品| 久久99国产精品麻豆| 成人av免费网站| 777久久久精品| 国产精品―色哟哟| 午夜精品aaa| 成人网在线免费视频| 欧美精品精品一区| 国产精品久久久久久久久免费樱桃| 综合久久久久久| 国产麻豆日韩欧美久久| 欧洲亚洲精品在线| 国产欧美日韩中文久久| 国产一区二区美女诱惑| 欧美色手机在线观看| 欧美国产精品劲爆| 美女在线一区二区| 91久久久免费一区二区| 久久久久久久综合日本| 五月天亚洲婷婷| 欧美三级日韩三级| 亚洲综合小说图片| 99精品国产热久久91蜜凸| 国产肉丝袜一区二区| 麻豆91精品91久久久的内涵| 91精品国产综合久久精品app| 亚洲欧美另类图片小说| 99视频在线精品| 国产精品久线观看视频| 成人深夜福利app| 中文字幕乱码亚洲精品一区| 国产精品18久久久久久久网站| 亚洲精品一区二区三区四区高清 | 久久亚洲精精品中文字幕早川悠里| 日本美女视频一区二区| 日韩一级欧美一级| 经典一区二区三区| 国产网站一区二区| 色婷婷国产精品|