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

📄 dashboard.c

📁 ucGui 的示范例子源码,里面包含好多哟, 有LIST 控件,BUTTON 控件,窗口管理,尤其是透明窗口管理.非常的形象.
💻 C
📖 第 1 页 / 共 5 页
字号:
/**********************************************************************                SEGGER MICROCONTROLLER SYSTEME GmbH                 **        Solutions for real time microcontroller applications        ************************************************************************                                                                    **        (c) 2002         SEGGER Microcontroller Systeme GmbH        **                                                                    **        Internet: www.segger.com    Support:  support@segger.com    **                                                                    *************************************************************************** emWin/GSC Grafical user interface for embedded applications ****emWin is protected by international copyright laws. Knowledge of thesource code may not be used to write a similar product. This file mayonly be used in accordance with a license and should not be re-distributed in any way. We appreciate your understanding and fairness.----------------------------------------------------------------------File        : Dashboard.cPurpose     : dashboard demo---------------------------END-OF-HEADER------------------------------*/#include <stdlib.h>#include <math.h>#include <string.h>#include "GUI.h"#include "LCDConf.h"#include "MULTIPAGE.h"#include "FRAMEWIN.h"#include "DROPDOWN.h"/***********************************************************************       defines************************************************************************/#define SHOW_RECTS  0#define AA_FACTOR   6#define HIRES       1#if HIRES  #define FACTOR        AA_FACTOR  #define HIRES_ON();   GUI_AA_EnableHiRes();  #define HIRES_OFF();  GUI_AA_DisableHiRes();#else  #define FACTOR        1  #define HIRES_ON();  #define HIRES_OFF();#endif#define FLAG_SHOW_MARK      0#define FLAG_SHOW_PITCH     1#define FLAG_SHOW_GRAD      2#define FLAG_SHOW_ARC       3   /* needs five bits (3 - 7) */#define FLAG_SHOW_TEXT      8#define FLAG_SHOW_SCALE     9#define FLAG_NEEDLE_FRAME  10#define FLAG_NEEDLE_LINE   11#define PI  3.1415926536#define NEEDLE_GRAD 720#define ARRAY(aItems) aItems, GUI_COUNTOF(aItems)/***********************************************************************       structures************************************************************************/typedef struct {  int x;  int y;  int xHere;  int yHere;  int DirX;  int DirY;  int PPM;  int Dif;  int PrevTime;  const GUI_BITMAP* pBitmap;} NAVIMAP;typedef struct {  U8  Sep[4];} COLOR;typedef struct {  int x;  int y;  int x0;  int y0;  int ArcStart;  int ArcEnd;  int ArcRadius;  int ArcArea1;  int ArcArea2;  int NumMarkLines;  int NumPitchLines;  int LineLen1;  int LineLen2;  int ArcWidth;  int GradDist;  int PenSize1;  int PenSize2;  int PenSize3;  int NeedleType;  int NeedleRadius;  int NumStep;  int NumStart;  int NumExp;  int LinePos1;  int LinePos2;  int ArcPos;  int AxisRadius;  int TextDist;  U16 Flags;  WM_HWIN hWin;  GUI_MEMDEV_Handle hMemDev;  char acText[33];  const GUI_BITMAP* pBitmap;  int BitmapY;  COLOR Color[7];} SCALE;typedef struct {  int NeedlePos;  int NeedleUPM;  int NeedleDir;  int NeedlePrevTime;} NEEDLE;static void _DrawScale(SCALE* pObj);/***********************************************************************       static data************************************************************************/static int _InitDialog;static WM_HWIN _hDialogColor;static WM_HWIN _hDialogMark;static WM_HWIN _hDialogPitch;static WM_HWIN _hDialogArc;static WM_HWIN _hDialogGrad;static WM_HWIN _hDialogScale;static WM_HWIN _hDialogMisc;static DROPDOWN_Handle _hDropDownScale;static DROPDOWN_Handle _hDropDownColor;static SCALE   _Scale[4];static SCALE   _ScalePrev[4];static NEEDLE  _Needle[4] = {  {0, 3, 1, 0},  {0, 4, 1, 0},  {0, 6, 1, 0},  {0, 9, 1, 0}};static const int _Pow10[] = {1, 10, 100, 1000};/***********************************************************************       static data, presets************************************************************************/static const SCALE _Presets[4][4] = {  {    {       87, 250, 0, 0,  89, 225,  62,  41, 122,  4, 2, 15,  7, 15, 24,        2, 2, 2, 1, 100, 1, 0, 0, 0, 0, 0, 16, 25, 0x37B, 0, 0, "Fuel", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0xFF, 0x64, 0x00, 0xFF},       {0x98, 0x00, 0x00}, {0x90, 0x90, 0x00}, {0x00, 0x50, 0x00}, {0xE8, 0xE8, 0xFF}}    }, {      144, 136, 0, 0,  72, 225,  70,  93, 184,  3, 1, 15,  7, 15, 24,        2, 2, 2, 1, 100, 1, 0, 0, 0, 0, 0, 16, 25, 0x37B, 0, 0, "Oil", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0xFF, 0x64, 0x00, 0xFF},       {0x98, 0x00, 0x00}, {0x90, 0x90, 0x00}, {0x00, 0x50, 0x00}, {0xE8, 0xE8, 0xFF}}    }, {      335, 185, 0, 0,  58, 234, 149, 258, 335, 15, 4, 25, 10, 25, 29,        2, 2, 2, 2, 100, 1, 1, 1, 0, 5, 0, 16, 25, 0x77F, 0, 0, "Speed", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0x00, 0x8A, 0xFF, 0x95},       {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xAA, 0x00, 0x00}, {0xE8, 0xE8, 0xFF}}    }, {      522, 208, 0, 0,  59, 225, 108, 257, 311,  8, 4, 25, 10, 25, 34,        2, 2, 2, 3, 100, 1, 0, 0, 0, 0, 0, 16, 25, 0x77F, 0, 0, "RPM", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0xFF, 0xAA, 0x00, 0xB5},       {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xAA, 0x00, 0x00}, {0xE8, 0xE8, 0xFF}}    }  }, {    {       96, 208, 0, 0, 40, 160,  73,  41, 122,  4, 2, 15,  7, 15, 24,        2, 2, 2, 3, 100, 1, 0, 0, 0, 0, 0, 16, 22, 0x74B, 0, 0, "Fuel", 0, 0,      {{0xFF, 0xFF, 0xAC}, {0x00, 0xFF, 0x70}, {0xFF, 0x64, 0x64, 0x80},       {0x98, 0x00, 0x00}, {0x90, 0x90, 0x00}, {0x00, 0x50, 0x00}, {0xE8, 0xE8, 0xFF}}    }, {      395, 247, 0, 0, 90, 270,  75,  93, 184,  3, 1, 15,  7, 15, 24,        2, 2, 2, 1, 100, 1, 0, 0, 0, 0, 0, 16, 22, 0x77B, 0, 0, "Oil", 0, 0,      {{0xFF, 0xFF, 0xAC}, {0x00, 0xFF, 0x70}, {0xFF, 0x64, 0x64, 0x80},       {0x98, 0x00, 0x00}, {0x90, 0x90, 0x00}, {0x00, 0x50, 0x00}, {0xE8, 0xE8, 0xFF}}    }, {      272, 184, 0, 0,  58, 254, 156, 261, 327, 12, 4, 19, 10, 17, 42,        2, 2, 2, 0, 100, 2, 1, 1, 17, 22, 0, 16, 22, 0x7C7, 0, 0, "Speed", 0, 0,      {{0xFF, 0xFF, 0xAC}, {0x00, 0xFF, 0x70}, {0x00, 0xCA, 0xFF, 0x68},       {0x00, 0x8C, 0x00}, {0xC4, 0xC4, 0x00}, {0xD8, 0x00, 0x00}, {0x75, 0xFF, 0xFF}}    }, {      511, 208, 0, 0, 128, 270, 107, 257, 311,  8, 4, 25, 10, 25, 34,        2, 2, 2, 3, 100, 1, 0, 0, 0, 0, 0, 16, 22, 0x777, 0, 0, "RPM", 0, 0,      {{0xFF, 0xFF, 0xAC}, {0x00, 0xFF, 0x70}, {0xFF, 0xAA, 0x00, 0xB5},       {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xAA, 0x00, 0x00}, {0xE8, 0xE8, 0xFF}}    }  }, {    {      101, 212, 0, 0,  30, 270,  66,  60, 120,  5, 1, 15,  7, 13, 34,        2, 2, 2, 0, 100, 1, 0, 0, 0, 0, 0, 16, 25, 0xF43, 0, 0, "Fuel", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0xA0, 0x7C, 0xFF, 0xA0},       {0x90, 0x00, 0x00}, {0x80, 0x80, 0x00}, {0x00, 0x70, 0x00}, {0xFF, 0xFF, 0xFF}}    }, {      543, 215, 0, 0,  30, 270,  66, 240, 320,  5, 1, 15,  7, 15, 34,        2, 2, 2, 0, 100, 1, 0, 0, 0, 0, 0, 16, 25, 0xF43, 0, 0, "Oil", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0xA0, 0x7C, 0xFF, 0xA0},       {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xAA, 0x00, 0x00}, {0xFF, 0xFF, 0xFF}}    }, {      325, 155, 0, 0,  30, 270,  95, 269, 317,  5, 1, 16,  8,  9, 34,        2, 2, 2, 1, 100, 1, 0, 0, 0, 0, 0, 16, 40, 0x773, 0, 0, "Speed", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0xFF, 0x4C, 0x38, 0xA0},       {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xAA, 0x00, 0x00}, {0xFF, 0xFF, 0xFF}}    }, {      325, 155, 0, 0,  30, 270, 137, 228, 329, 10, 1, 16,  9, 25, 21,        2, 2, 2, 0, 100, 2, 1, 1, 0, 0, 0, 16, 16, 0x747, 0, 0, "RPM", 0, 0,      {{0xFF, 0xFF, 0xFF}, {0x00, 0xFF, 0x00}, {0x00, 0x8C, 0xFF, 0xA4},       {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xAA, 0x00, 0x00}, {0xFF, 0xFF, 0xFF}}    }  }, {    {      102, 251, 0, 0,  90, 270,  62,  60, 120,  0, 5, 15,  7, 13, 24,        2, 2, 2, 4, 100, 1, 0, 0, 0, 0, 0, 20, 25, 0x77F, 0, 0, "Fuel", 0, 0,      {{0xFF, 0xFF, 0xC0}, {0x00, 0xFF, 0xFF}, {0x80, 0xFF, 0x00, 0x80},       {0xAA, 0x00, 0x00}, {0x90, 0x90, 0x00}, {0x00, 0x70, 0x00}, {0xFF, 0xFF, 0xFF}}    }, {      292, 251, 0, 0,  90, 270,  62,  90, 270,  0, 3, 15,  7, 15, 24,        2, 2, 2, 4, 100, 1, 0, 0, 0, 0, 0, 20, 25, 0x757, 0, 0, "Oil", 0, 0,      {{0xFF, 0xFF, 0xC0}, {0x00, 0xFF, 0xFF}, {0x80, 0xFF, 0x00, 0x80},       {0x90, 0x90, 0x00}, {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xFF, 0xFF, 0xFF}}    }, {      447, 192, 0, 0, 123, 291, 160, 270, 331, 13, 4, 13,  5,  7, 13,        2, 2, 2, 2,  80, 2, 1, 1, 35, 44, 50, 16, 25, 0x73F, 0, 0, "Speed", 0, 0,      {{0xFF, 0xFF, 0xC0}, {0x00, 0xFF, 0xFF}, {0x95, 0x64, 0xFF, 0xB0},       {0x00, 0x70, 0x00}, {0x90, 0x90, 0x00}, {0xAA, 0x00, 0x00}, {0xFF, 0xFF, 0xFF}}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -