mirror of https://github.com/buggins/dlangui.git
Android MotionEvent handling - close #238
This commit is contained in:
parent
1934e937df
commit
673d17bf65
|
@ -45,11 +45,19 @@ class AndroidWindow : Window {
|
||||||
override @property void windowIcon(DrawBufRef icon) {
|
override @property void windowIcon(DrawBufRef icon) {
|
||||||
// not supported
|
// not supported
|
||||||
}
|
}
|
||||||
|
uint _lastRedrawEventCode;
|
||||||
/// request window redraw
|
/// request window redraw
|
||||||
override void invalidate() {
|
override void invalidate() {
|
||||||
|
_platform.sendRedrawEvent(this, ++_lastRedrawEventCode);
|
||||||
|
}
|
||||||
|
|
||||||
|
void processRedrawEvent(uint code) {
|
||||||
|
//if (code == _lastRedrawEventCode)
|
||||||
|
// redraw();
|
||||||
}
|
}
|
||||||
/// close window
|
/// close window
|
||||||
override void close() {
|
override void close() {
|
||||||
|
_platform.closeWindow(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected AndroidPlatform _platform;
|
protected AndroidPlatform _platform;
|
||||||
|
@ -149,7 +157,8 @@ class AndroidWindow : Window {
|
||||||
}
|
}
|
||||||
return 1;
|
return 1;
|
||||||
} else if (et == AINPUT_EVENT_TYPE_KEY) {
|
} else if (et == AINPUT_EVENT_TYPE_KEY) {
|
||||||
return 1;
|
Log.d("AINPUT_EVENT_TYPE_KEY");
|
||||||
|
return 0;
|
||||||
}
|
}
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
@ -276,6 +285,7 @@ class AndroidPlatform : Platform {
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Tear down the EGL context currently associated with the display.
|
* Tear down the EGL context currently associated with the display.
|
||||||
*/
|
*/
|
||||||
|
@ -389,6 +399,18 @@ class AndroidPlatform : Platform {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sendRedrawEvent(AndroidWindow w, uint redrawEventCode) {
|
||||||
|
import core.stdc.stdio;
|
||||||
|
import core.sys.posix.unistd;
|
||||||
|
if (w && w is activeWindow) {
|
||||||
|
// request update
|
||||||
|
_appstate.redrawNeeded = true;
|
||||||
|
Log.d("sending APP_CMD_WINDOW_REDRAW_NEEDED");
|
||||||
|
ubyte cmd = APP_CMD_WINDOW_REDRAW_NEEDED;
|
||||||
|
write(_appstate.msgwrite, &cmd, cmd.sizeof);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* create window
|
* create window
|
||||||
* Args:
|
* Args:
|
||||||
|
|
Loading…
Reference in New Issue