From 4d7c854228af32c9af9571b79b0bb574af9126f3 Mon Sep 17 00:00:00 2001 From: "sigonasr2, Sig, Sigo" Date: Thu, 1 Jun 2023 20:37:52 +0000 Subject: [PATCH] Keyboard functionality Co-authored-by: sigonasr2 --- C++/scripts/md5 | 2 +- C++ProjectTemplate.wasm | Bin 305815 -> 310486 bytes main.cpp | 81 +++++++++++++++++++++++++++++++++++++--- sig | 2 +- 4 files changed, 77 insertions(+), 8 deletions(-) diff --git a/C++/scripts/md5 b/C++/scripts/md5 index b69aebb..e63460b 100644 --- a/C++/scripts/md5 +++ b/C++/scripts/md5 @@ -4,4 +4,4 @@ debug.sh:849488515cab075948653c15eec4177b - lines.sh:3b907786f7fc9204025993016c9080de - release.sh:0ab321c3fa2f1a1b2f03b1aec3bce816 - temp:d41d8cd98f00b204e9800998ecf8427e - -web.sh:4bbe9c5710a0ae4289468c3f7f340ff1 - +web.sh:2e1208477c7e2a8d154be8dafa656f89 - diff --git a/C++ProjectTemplate.wasm b/C++ProjectTemplate.wasm index 1778b14648a089c9f78c5a42f25824f17b213817..49c60f4ce7e735578801095659431a5e66a91da5 100755 GIT binary patch delta 63220 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 lA?hd}@@_g>-ox)6Q&_IsXFQADcursors={{0,2}}; + std::vectordocument={{"Test"}}; + float lastBlinkTime=0; + + IDE() { sAppName = "PGEIDE"; } @@ -13,12 +22,73 @@ public: public: bool OnUserCreate() override { - std::cout<<"Created: "<0){ + cursors[0].pos--; + } else + if (cursors[0].line>0){ + cursors[0].line--; + cursors[0].pos=document[cursors[0].line].size(); + } + } + if (GetKey(DOWN).bPressed){ + if (cursors[0].line0){ + cursors[0].line--; + } + } + if (GetKey(HOME).bPressed){ + if(GetKey(CTRL).bHeld){ + cursors[0].line=0; + } + cursors[0].pos=0; + } + if (GetKey(END).bPressed){ + if(GetKey(CTRL).bHeld){ + cursors[0].line=document.size()-1; + } + cursors[0].pos=document[cursors[0].line].size(); + } + if (GetKey(ENTER).bPressed){ + if(cursors[0].pos==0){ + //Insert in front of line. + document.insert(document.begin()+cursors[0].line++,{{}}); + } else{ + document.insert(document.begin()+cursors[0].line+1,document[cursors[0].line].substr(cursors[0].pos,document[cursors[0].line].size())); + document[cursors[0].line]=document[cursors[0].line].substr(0,cursors[0].pos); + cursors[0].pos=0; + cursors[0].line++; + } + } + int i=0; + for (std::string&line:document){ + DrawStringDecal({0,float(i)*10},line); + if(cursors[0].line==i&&lastBlinkTime>0.5f){DrawStringDecal({float(cursors[0].pos)*8-2,float(i)*10+1},"|",GREY,{0.5,0.8});} + i++; + } + lastBlinkTime+=fElapsedTime; + if (lastBlinkTime>1.f){ + lastBlinkTime--; + } return true; } @@ -32,15 +102,14 @@ public: int main(int argc, char** argv) { - Example demo; + IDE demo; rcode code; if (argc==3){ code=demo.Construct(std::stoi(argv[1]), std::stoi(argv[2]), 1, 1); } else { - code=demo.Construct(1920, 1080, 1, 1); + code=demo.Construct(200, 200, 1, 1); } if (code!=FAIL){ - std::cout<<"Run"<