summaryrefslogtreecommitdiff
path: root/src/testApp.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/testApp.cpp')
-rwxr-xr-xsrc/testApp.cpp53
1 files changed, 53 insertions, 0 deletions
diff --git a/src/testApp.cpp b/src/testApp.cpp
index 3f60650..5a18248 100755
--- a/src/testApp.cpp
+++ b/src/testApp.cpp
@@ -60,19 +60,72 @@ void editorWindow::draw(){
}
else {
//draw insertion point
+ if ((ofGetElapsedTimeMillis()/300)%2) {
+ ofRect((insertionPoint.column*8)+10,(insertionPoint.row*12)+5,2,10);
+ }
}
}
+/*
+ #define OF_KEY_LEFT (100 | OF_KEY_MODIFIER)
+ #define OF_KEY_UP (101 | OF_KEY_MODIFIER)
+ #define OF_KEY_RIGHT (102 | OF_KEY_MODIFIER)
+ #define OF_KEY_DOWN (103 | OF_KEY_MODIFIER)
+ #define OF_KEY_PAGE_UP (104 | OF_KEY_MODIFIER)
+ #define OF_KEY_PAGE_DOWN (105 | OF_KEY_MODIFIER)
+ #define OF_KEY_HOME (106 | OF_KEY_MODIFIER)
+ #define OF_KEY_END (107 | OF_KEY_MODIFIER)
+ #define OF_KEY_INSERT
+*/
void editorWindow::keyPressed(int key){
+ printf("%i\n",key);
switch (key) {
case OF_KEY_RETURN:
text.push_back(string(""));
insertionPoint.row=text.size()-1;
+ insertionPoint.column=0;
+ break;
+ case OF_KEY_LEFT:
+ printf("left\n");
+ insertionPoint.column--;
+ if (insertionPoint.column<0) {
+ if (insertionPoint.row>0) {
+ insertionPoint.row--;
+ insertionPoint.column=text[insertionPoint.row].size();
+ }
+ else insertionPoint.column=0;
+ }
+ break;
+ case OF_KEY_UP:
+ printf("up\n");
+ if (insertionPoint.row>0) {
+ insertionPoint.row--;
+ insertionPoint.column=min(insertionPoint.column,(int)text[insertionPoint.row].size());
+ }
+ break;
+ case OF_KEY_RIGHT:
+ printf("right\n");
+ insertionPoint.column++;
+ if (insertionPoint.column>text[insertionPoint.row].size()) {
+ if (text.size()>insertionPoint.column) {
+ insertionPoint.row++;
+ insertionPoint.column=min(insertionPoint.column,(int)text[insertionPoint.row].size());
+ }
+ else insertionPoint.column--;
+ }
+ break;
+ case OF_KEY_DOWN:
+ printf("down\n");
+ if (text.size()>insertionPoint.row) {
+ insertionPoint.row++;
+ insertionPoint.column=min(insertionPoint.column,(int)text[insertionPoint.row].size());
+ }
break;
default:
char buf[2];
sprintf(buf,"%c",key);
text[insertionPoint.row]+=buf;
+ insertionPoint.column++;
}
}
void editorWindow::keyReleased(int key){