Initial commit

This commit is contained in:
2026-04-06 19:02:09 +08:00
commit d186d7dcc7
743 changed files with 521821 additions and 0 deletions

197
MyCode/Gui/GraphBase.h Normal file
View File

@@ -0,0 +1,197 @@
#ifndef GRAPHBASE_H_
#define GRAPHBASE_H_
#include "gType.h"
#include "GraphLow.h"
#define dmClear 0
#define dmSolid 1
#define dICON16_COUNT 32
#define dICON24_COUNT 24
#define dICON32_COUNT 4
typedef enum
{
CENTER = 0x01, // Center mode
RIGHT = 0x02, // Right mode
LEFT = 0x03 // Left mode
}Tdraw_string_aline_mode;
typedef struct{
int x;
int y;
}TPoint;
typedef struct{
float x;
float y;
}T2DPoint;
typedef enum{
bvNone = 0,
bvLowered,
bvRaised,
bvSpace
}TBvStyle;
class TRect{
public:
int Left;
int Top;
int Right;
int Bottom;
int Width;
int Height;
TPoint CenterPoint;
public:
void Set(int aLeft, int aTop, int aRight, int aBottom);
void SetBySize(int aLeft, int aTop, int aWidth, int aHeight);
void SetBy2Point(TPoint aPLT, TPoint aPRB);
void SetLeftTop(int aL, int aT);
void SetLeft(int aL);
void SetTop(int aT);
void SetRight(int aR);
void SetBottom(int aB);
void SetWidth(int aW);
void SetHeight(int aH);
};
class TCircle{
public:
TPoint Center;
u32 Radius;
int PenWidth;
u32 PenColor;
int BrushStyle; //fsSolid=1; fsClear=0;
u32 BrushColor;
private:
void Plot4Points(int x, int y);
void Plot4PointsFill(int x, int y);
void Plot8Points(int x, int y);
void Plot4PointsQuadrant(int x, int y, int quadrant);
void Plot4PointsFillQuadrant(int x, int y, int quadrant);
void Plot8PointsQuadrant(int x, int y, int quadrant);
public:
void Set(TPoint aCenter, s16 aRadius);
void SetBySize(int aLeft, int aTop, int aWidth, int aHeight);
void Render(void);
void Render2(void);
void RenderQuadrant (int quadrant);
static void sPlot4Points(int cx, int cy, int x, int y, unsigned int aClr);
static void sPlot4PointsFill(int cx, int cy, int x, int y, unsigned int aClr);
static void sPlot8Points(int cx, int cy, int x, int y, unsigned int aClr, int IsFill);
static void sRender(int x, int y, int aR, unsigned int aClr, int IsFill);
static void sRender2(int x, int y, int aR, unsigned int aClr);
static void sPlot4PointsFillQuadrant(int ax, int ay, int x, int y,int quadrant, u32 aClr);
static void sPlot8PointsFillQuadrant(int ax, int ay, int x, int y, int quadrant, u32 aClr);
static void sPlot8PointsQuadrant(int ax, int ay, int x, int y, int quadrant,u32 aClr);
static void sRenderQuadrant(int ax, int ay, int aR, int quadrant, u32 aClr, int IsFill); //draw circle
};
class TImageList{
public:
unsigned int AddrInFlash;
unsigned int AllDataSize; // N * 4K Bytes
unsigned int DrawMode; // 0 = Clear 1 = Solid
unsigned int TranparrentColor;
public:
TImageList(void){
AllDataSize = 102400;
DrawMode = dmClear;
TranparrentColor = 0xFFFFFFFF;
}
void SetData(unsigned int aSize, unsigned int aIndex);
void LoadFromFlash(unsigned int aSize, unsigned int aIndex);
void LoadFromFlash(void);
void ClearAllFlash(void);
void WriteToFlash(unsigned int Index);
void Render(unsigned int aSize, unsigned int aIndex, unsigned int aLeft, unsigned int aTop);
void Render(unsigned int aSize, unsigned int aIndex, unsigned int aLeft, unsigned int aTop, unsigned int xLimit, unsigned int yLimit);
unsigned int GetSize16Count(void);
unsigned int GetSize24Count(void);
unsigned int GetSize32Count(void);
};
class TImage{
public:
unsigned int AddrInFlash;
unsigned int AllDataSize; // N * 4K Bytes
unsigned int DrawMode; // 0 = Clear 1 = Solid
unsigned int TranparrentColor;
unsigned int Width;
unsigned int Height;
int Left;
int Top;
public:
TImage(void){
AllDataSize = 102400;
DrawMode = dmClear;
TranparrentColor = 0xFFFFFFFF;
}
void Init(int x, int y, unsigned int aA, unsigned int aW, unsigned int aH){
Left = x;
Top = y;
AddrInFlash = aA;
Width = aW;
Height = aH;
}
void Render(unsigned int xLimit, unsigned int yLimit);
};
class TVScrollBar{
public:
static void sDrawByPoint(int x, int y, int Right, int Bottom, u32 aClr, u32 aBClr, int aItemsCount, int aLineCount, int aTopIndex);
static void sDrawBySize(int x, int y, int aW, int aH, u32 aClr, u32 aBClr, int aItemsCount, int aLineCount, int aTopIndex);
};
class TBevel{
public:
static void DrawRaised(int x, int y, int Right, int Bottom, u32 aClr, u32 aBClr, int aItemsCount, int aLineCount, int aTopIndex);
static void DrawLowered(int x, int y, int Right, int Bottom, u32 aClr, u32 aBClr, int aItemsCount, int aLineCount, int aTopIndex);
};
class TRoundBox{
};
class TCanvas{
};
class TProgressBar{
public:
static void sDrawByPoint(int x, int y, int Right, int Bottom, int aPercent, int aMax, u32 aClr, u32 aBClr, u32 aTClr);
static void sDrawBySize(int x, int y, int aW, int aH, int aPercent, int aMax, u32 aClr, u32 aBClr, u32 aTClr);
};
class TRoundSquare{
public:
static void sDrawBySize(int x, int y, int aW, int aH, int RoundR, u32 aClr, int Active);
static void sSelected(int ax, int ay, int aW, int aH, int aThick, u32 aColor);
};
class TRoundRect{
public:
static void sDrawBySize(int x, int y, int aW, int aH, int RoundR, u32 aClr, char *Text, int LeftSpace, u32 TextClr);
};
class TTriangleLeftRight{
public:
static int sDrawByHight(int x, int y, int aH, unsigned int aClr);
static int sDrawLeftByHight(int x, int y, int aH, unsigned int aClr);
static int sDrawRightByHight(int x, int y, int aH, unsigned int aClr);
};
#endif