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

278
MyCode/Gui/LinkageProgram.h Normal file
View File

@@ -0,0 +1,278 @@
#ifndef LINKAGEPROGRAM_H_
#define LINKAGEPROGRAM_H_
#include "gType.h"
#include "GraphBase.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include "my_string.h"
#include "Device.h"
#include "EpDevice.h"
#include "StaticText.h"
#include "EditML.h"
#include "CtlPanel1.h"
/* int64 nHeaderBytes; // header bytes of the original
int64 nDataBytes; // data bytes of the original
int64 nTotalBytes; // total bytes of the original
int64 nTotalBytes; // total bytes of the file
int64 nTotalBlocks; // the total number blocks
int nLengthMS; // the length in milliseconds
int nAverageBitrate; // the kbps (i.e. 637 kpbs)
int nDecompressedBitrate; // the kbps of the decompressed audio (i.e. 1440 kpbs)
int nJunkHeaderBytes; // used for, etc.
int nSeekTableElements; // the number of elements in the seek table(s)
int nMD5Invalid; // whether the is valid*/
class TLinkageProgram{
public:
static constexpr unsigned short hList[12] = {36,32,300,150, 32,32,32,32, 32,32,32,32};
static constexpr unsigned short wList[12] = {800,800,800,800, 800,800,800,800, 800,800,800,800};
static constexpr TLv Lv = {
.Caption.Left = 0,
.Caption.Top = 36,
.Caption.Width = 800,
.Caption.Heigh = 32,
.Caption.Right = 800 -0 -1,
.Caption.Bottom = 36 + 32,
.Grid.Left = {0,0,0,0, 0,0,0,0, 0,0,0,0},
.Grid.Right = {wList[0]-1,wList[1]-1,wList[2]-1,wList[3]-1, wList[4]-1,wList[5]-1,wList[6]-1,wList[7]-1, wList[8]-1,wList[9]-1,wList[10]-1,wList[11]-1},
.Grid.Top[0] = (36 + 32 +2),
.Grid.Top[1] = (36 + 32 +2) + (2 + hList[0]),
.Grid.Top[2] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]),
.Grid.Top[3] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]),
.Grid.Top[4] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]),
.Grid.Top[5] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]),
.Grid.Top[6] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]),
.Grid.Top[7] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]),
.Grid.Top[8] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]),
.Grid.Top[9] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]),
.Grid.Top[10] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]),
.Grid.Top[11] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + (2 + hList[10]),
.Grid.Bottom[0] = (36 + 32 +2) + hList[0],
.Grid.Bottom[1] = (36 + 32 +2) + (2 + hList[0]) + hList[1],
.Grid.Bottom[2] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + hList[2],
.Grid.Bottom[3] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + hList[3],
.Grid.Bottom[4] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + hList[4],
.Grid.Bottom[5] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + hList[5],
.Grid.Bottom[6] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + hList[6],
.Grid.Bottom[7] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + hList[7],
.Grid.Bottom[8] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + hList[8],
.Grid.Bottom[9] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + hList[9],
.Grid.Bottom[10] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + hList[10],
.Grid.Bottom[11] = (36 + 32 +2) + (2 + hList[0]) + (2 + hList[1]) + (2 + hList[2]) + (2 + hList[3]) + (2 + hList[4]) + (2 + hList[5]) + (2 + hList[6]) + (2 + hList[7]) + (2 + hList[8]) + (2 + hList[9]) + (2 + hList[10]) + hList[11],
.Grid.UsingCount = 3,
.Panel.Active = 0,
.Panel.ItemType = piMemo,
.PanelSmall.Active = 0,
};
public:
int IsShow;
unsigned char IsPermission;
unsigned char PermissionCmd;
class TEdit EEntry;
class TEdit EuCode;
class TEdit EdType;
class TEdit ELogic;
class TEdit EDelay;
class TEdit EInnerCount;
class TEdit EInCount;
TStaticText STextDType;
unsigned char IsSaveEn;
unsigned char IsDeleteEn;
unsigned char EnterMethod;
unsigned char ShouldBeLoad;
unsigned char ShouldBeClear;
unsigned char ParCntHasChanged;
unsigned char tAvalible;
unsigned char tLogic;
unsigned char IsInput;
unsigned char IsMask;
unsigned char IsSelfActive;
unsigned char ParCnt;
unsigned char DoStop;
unsigned char InCount;
char tEntry[12][4][24];
char EntryChar[24];
u32 Color;
unsigned char ItemsIndex;
unsigned char EditIndex;
unsigned char OnEditing;
unsigned char CharIndex;
unsigned char IsInputSymbol;
unsigned char IsProgram;
char PathText[64];
unsigned char CtlNum;
unsigned char Path0;
unsigned char Path1;
unsigned char IsViewList;
int InputCount;
int InputPageCount;
int InputPageIndex;
unsigned char CurrentPath0;
int EditingLinkageIndex;
int ExpCount;
int IsNew;
unsigned char ExistTabel[dLINKAGE_MAX_COUNT];
union{
unsigned char D8[256];
unsigned int D32[64];
}ReadWriteData;
unsigned char ActX;
unsigned char Inx;
unsigned char eX, eY;
unsigned char eWhat;
unsigned char IsWhowingTip;
unsigned char EntryState;
public:
TLinkageProgram(){};
void Init();
void RenderBackGround(void);
void RenderBackGround(unsigned int aClr);
void RenderContent(void);
void DrawSelf(void);
void DrawCaption(void);
void DrawCaption2();
void Show();
void FullRedraw(int Prm);
void DelayUs(unsigned int aUs);
void DelayMs(unsigned int aMs);
void PaintExp();
void DrawInputListXX();
void ShowTip(int aTip);
void ShowOneGrid(unsigned int x, unsigned int y);
void ShowAllGrid();
void RedrawEEdit();
void RenderGridBack();
void DrawSelectedGrid(unsigned int oldX, unsigned int oldY, unsigned int NewX, unsigned int NewY);
void DrawFixText();
void TryDecValue(int IsForce);
void TryIncValue(int IsForce);
void ClearSelected(void);
void Check4Selected();
void CheckEWhatWhoActive();
void InitPanel();
void DrawGridLine();
void DrawInputTip();
void DrawTip();
unsigned char LoadInputList(unsigned char Path0);
int TrySearchStartPort();
int SearchPort(unsigned char aP0);
int TrySearchPrePort();
int TrySearchNextPort();
void LoadCfg();
TGuiMsgReturn KeyIn(unsigned char aKey);
void LoadExpression();
void SetEditStart();
int TryRestoreFromEdit();
void RestoreFromEdit();
void LoadInputList();
void IdfButtonEn();
void ShowEntryState();
void FindNextExp();
int NewEntry();
void WriteEntry();
void ReScanExpViaRam();
void WaitChipIdle(unsigned int aCnt);
void LoadExpCountFromRam();
void LoadExpression2Ram();
void LoadExpression2Ram(unsigned int aInx);
void LoadExpression2RamFor4K(unsigned int aInx);
void LoadExpression2Edit(unsigned int aInx);
void Erase4Index(unsigned int aInx);
void Write4Index(unsigned int aInx);
void DeleteEntry();
void ShowItemEdit();
void RedrawItemEdit();
void RedrawParCnt();
void ClearPanelSelected();
void ClearGridSelected();
void LoadExpVoid();
void LoadExp(unsigned int aExp);
void RestoreExp(unsigned int aExp);
void GetLnkMask(unsigned int aExp);
void SetLnkMask(unsigned int aExp);
void GetLnkSelfActive(unsigned int aExp);
void GetLnkDoStop(unsigned int aExp);
void SetLnkDoStop(unsigned int aExp);
void SetLnkSelfActive(unsigned int aExp);
void CheckUserCodeUniquely(int IsInput);
void DrawActiveByStartStop();
void DrawIsMask();
void DrawIsSelfActive();
void PermissionCmdGO();
void PermissionCmdReturnDraw();
void Skip2Entry(unsigned int aEntry);
void EntryClear();
int CheckUserCodeOk();
int CheckTypeOk();
void CheckShowDevType();
int ExtRequst(unsigned char Prm){IsShow =0; return 0;}
};
#endif