|
|
@@ -33,6 +33,9 @@ using namespace tb;
|
|
|
namespace Atomic
|
|
|
{
|
|
|
|
|
|
+MODIFIER_KEYS GetModifierKeys(int qualifiers, bool superKey);
|
|
|
+SPECIAL_KEY GetSpecialKey(int keycode);
|
|
|
+
|
|
|
UIOffscreenView::UIOffscreenView(Context* context) : UIWidget(context, false)
|
|
|
{
|
|
|
widget_ = new TBWidget();
|
|
|
@@ -53,7 +56,7 @@ UIOffscreenView::UIOffscreenView(Context* context) : UIWidget(context, false)
|
|
|
GetTexture2D()->SetFilterMode(Atomic::FILTER_BILINEAR);
|
|
|
|
|
|
// Add our self to the ui subsystem.
|
|
|
- ui->GetOffscreenViews()->Insert(this);
|
|
|
+ ui->GetOffscreenViews().Insert(this);
|
|
|
}
|
|
|
|
|
|
UIOffscreenView::~UIOffscreenView()
|
|
|
@@ -62,7 +65,7 @@ UIOffscreenView::~UIOffscreenView()
|
|
|
|
|
|
// Remove our self from the ui subsystem, if it's still around.
|
|
|
if (ui)
|
|
|
- ui->GetOffscreenViews()->Erase(this);
|
|
|
+ ui->GetOffscreenViews().Erase(this);
|
|
|
}
|
|
|
|
|
|
void UIOffscreenView::SetSize(int width, int height)
|
|
|
@@ -101,14 +104,14 @@ void UIOffscreenView::UnregisterInput()
|
|
|
inputRect_ = IntRect::ZERO;
|
|
|
}
|
|
|
|
|
|
-bool UIOffscreenView::SavePNGTo(Serializer& serializer) const
|
|
|
+bool UIOffscreenView::SavePNG(Serializer& dest) const
|
|
|
{
|
|
|
Image image(context_);
|
|
|
if (!image.SetSize(GetWidth(), GetHeight(), 4))
|
|
|
return false;
|
|
|
if (!GetTexture2D()->GetData(0, image.GetData()))
|
|
|
return false;
|
|
|
- if (!image.Save(serializer))
|
|
|
+ if (!image.Save(dest))
|
|
|
return false;
|
|
|
return true;
|
|
|
}
|
|
|
@@ -118,146 +121,42 @@ bool UIOffscreenView::SavePNG(const String& fileName) const
|
|
|
File outFile(context_, fileName, FILE_WRITE);
|
|
|
if (!outFile.IsOpen())
|
|
|
return false;
|
|
|
- return SavePNGTo(outFile);
|
|
|
-}
|
|
|
-
|
|
|
-static inline MODIFIER_KEYS GetModifierKeys(int qualifiers, bool superKey)
|
|
|
-{
|
|
|
- MODIFIER_KEYS code = TB_MODIFIER_NONE;
|
|
|
- if (qualifiers & QUAL_ALT) code |= TB_ALT;
|
|
|
- if (qualifiers & QUAL_CTRL) code |= TB_CTRL;
|
|
|
- if (qualifiers & QUAL_SHIFT) code |= TB_SHIFT;
|
|
|
- if (superKey) code |= TB_SUPER;
|
|
|
- return code;
|
|
|
-}
|
|
|
-
|
|
|
-static inline SPECIAL_KEY GetSpecialKey(int keycode)
|
|
|
-{
|
|
|
- SPECIAL_KEY specialKey;
|
|
|
-
|
|
|
- switch (keycode)
|
|
|
- {
|
|
|
- case KEY_RETURN:
|
|
|
- case KEY_RETURN2:
|
|
|
- case KEY_KP_ENTER:
|
|
|
- specialKey = TB_KEY_ENTER;
|
|
|
- break;
|
|
|
- case KEY_F1:
|
|
|
- specialKey = TB_KEY_F1;
|
|
|
- break;
|
|
|
- case KEY_F2:
|
|
|
- specialKey = TB_KEY_F2;
|
|
|
- break;
|
|
|
- case KEY_F3:
|
|
|
- specialKey = TB_KEY_F3;
|
|
|
- break;
|
|
|
- case KEY_F4:
|
|
|
- specialKey = TB_KEY_F4;
|
|
|
- break;
|
|
|
- case KEY_F5:
|
|
|
- specialKey = TB_KEY_F5;
|
|
|
- break;
|
|
|
- case KEY_F6:
|
|
|
- specialKey = TB_KEY_F6;
|
|
|
- break;
|
|
|
- case KEY_F7:
|
|
|
- specialKey = TB_KEY_F7;
|
|
|
- break;
|
|
|
- case KEY_F8:
|
|
|
- specialKey = TB_KEY_F8;
|
|
|
- break;
|
|
|
- case KEY_F9:
|
|
|
- specialKey = TB_KEY_F9;
|
|
|
- break;
|
|
|
- case KEY_F10:
|
|
|
- specialKey = TB_KEY_F10;
|
|
|
- break;
|
|
|
- case KEY_F11:
|
|
|
- specialKey = TB_KEY_F11;
|
|
|
- break;
|
|
|
- case KEY_F12:
|
|
|
- specialKey = TB_KEY_F12;
|
|
|
- break;
|
|
|
- case KEY_LEFT:
|
|
|
- specialKey = TB_KEY_LEFT;
|
|
|
- break;
|
|
|
- case KEY_UP:
|
|
|
- specialKey = TB_KEY_UP;
|
|
|
- break;
|
|
|
- case KEY_RIGHT:
|
|
|
- specialKey = TB_KEY_RIGHT;
|
|
|
- break;
|
|
|
- case KEY_DOWN:
|
|
|
- specialKey = TB_KEY_DOWN;
|
|
|
- break;
|
|
|
- case KEY_PAGEUP:
|
|
|
- specialKey = TB_KEY_PAGE_UP;
|
|
|
- break;
|
|
|
- case KEY_PAGEDOWN:
|
|
|
- specialKey = TB_KEY_PAGE_DOWN;
|
|
|
- break;
|
|
|
- case KEY_HOME:
|
|
|
- specialKey = TB_KEY_HOME;
|
|
|
- break;
|
|
|
- case KEY_END:
|
|
|
- specialKey = TB_KEY_END;
|
|
|
- break;
|
|
|
- case KEY_INSERT:
|
|
|
- specialKey = TB_KEY_INSERT;
|
|
|
- break;
|
|
|
- case KEY_TAB:
|
|
|
- specialKey = TB_KEY_TAB;
|
|
|
- break;
|
|
|
- case KEY_DELETE:
|
|
|
- specialKey = TB_KEY_DELETE;
|
|
|
- break;
|
|
|
- case KEY_BACKSPACE:
|
|
|
- specialKey = TB_KEY_BACKSPACE;
|
|
|
- break;
|
|
|
- case KEY_ESCAPE:
|
|
|
- specialKey = TB_KEY_ESC;
|
|
|
- break;
|
|
|
- default:
|
|
|
- specialKey = TB_KEY_UNDEFINED;
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- return specialKey;
|
|
|
+ return SavePNG(outFile);
|
|
|
}
|
|
|
|
|
|
-void UIOffscreenView::InvokeRightPointerDown(int x, int y, int click_count, int qualifiers, bool superDown)
|
|
|
+void UIOffscreenView::InvokeRightPointerDown(int x, int y, int click_count, int qualifiers, bool superKeyDown)
|
|
|
{
|
|
|
- widget_->InvokeRightPointerDown(x, y, click_count, GetModifierKeys(qualifiers, superDown));
|
|
|
+ widget_->InvokeRightPointerDown(x, y, click_count, GetModifierKeys(qualifiers, superKeyDown));
|
|
|
}
|
|
|
|
|
|
-void UIOffscreenView::InvokeRightPointerUp(int x, int y, int qualifiers, bool superDown)
|
|
|
+void UIOffscreenView::InvokeRightPointerUp(int x, int y, int qualifiers, bool superKeyDown)
|
|
|
{
|
|
|
- widget_->InvokeRightPointerUp(x, y, GetModifierKeys(qualifiers, superDown));
|
|
|
+ widget_->InvokeRightPointerUp(x, y, GetModifierKeys(qualifiers, superKeyDown));
|
|
|
}
|
|
|
|
|
|
-void UIOffscreenView::InvokePointerDown(int x, int y, int click_count, int qualifiers, bool touch, int touchId, bool superDown)
|
|
|
+void UIOffscreenView::InvokePointerDown(int x, int y, int click_count, int qualifiers, bool touch, int touchId, bool superKeyDown)
|
|
|
{
|
|
|
- widget_->InvokePointerDown(x, y, click_count, GetModifierKeys(qualifiers, superDown), touch, touchId);
|
|
|
+ widget_->InvokePointerDown(x, y, click_count, GetModifierKeys(qualifiers, superKeyDown), touch, touchId);
|
|
|
}
|
|
|
|
|
|
-void UIOffscreenView::InvokePointerUp(int x, int y, int qualifiers, bool touch, int touchId, bool superDown)
|
|
|
+void UIOffscreenView::InvokePointerUp(int x, int y, int qualifiers, bool touch, int touchId, bool superKeyDown)
|
|
|
{
|
|
|
- widget_->InvokePointerUp(x, y, GetModifierKeys(qualifiers, superDown), touch, touchId);
|
|
|
+ widget_->InvokePointerUp(x, y, GetModifierKeys(qualifiers, superKeyDown), touch, touchId);
|
|
|
}
|
|
|
|
|
|
-void UIOffscreenView::InvokePointerMove(int x, int y, int qualifiers, bool touch, int touchId, bool superDown)
|
|
|
+void UIOffscreenView::InvokePointerMove(int x, int y, int qualifiers, bool touch, int touchId, bool superKeyDown)
|
|
|
{
|
|
|
- widget_->InvokePointerMove(x, y, GetModifierKeys(qualifiers, superDown), touch, touchId);
|
|
|
+ widget_->InvokePointerMove(x, y, GetModifierKeys(qualifiers, superKeyDown), touch, touchId);
|
|
|
}
|
|
|
|
|
|
-void UIOffscreenView::InvokeWheel(int x, int y, int delta_x, int delta_y, int qualifiers, bool superDown)
|
|
|
+void UIOffscreenView::InvokeWheel(int x, int y, int delta_x, int delta_y, int qualifiers, bool superKeyDown)
|
|
|
{
|
|
|
- widget_->InvokeWheel(x, y, delta_x, delta_y, GetModifierKeys(qualifiers, superDown));
|
|
|
+ widget_->InvokeWheel(x, y, delta_x, delta_y, GetModifierKeys(qualifiers, superKeyDown));
|
|
|
}
|
|
|
|
|
|
-bool UIOffscreenView::InvokeKey(int key, int keycode, bool down, int qualifiers, bool superDown)
|
|
|
+bool UIOffscreenView::InvokeKey(int key, int keycode, bool down, int qualifiers, bool superKeyDown)
|
|
|
{
|
|
|
- return widget_->InvokeKey(key, GetSpecialKey(keycode), GetModifierKeys(qualifiers, superDown), down);
|
|
|
+ return widget_->InvokeKey(key, GetSpecialKey(keycode), GetModifierKeys(qualifiers, superKeyDown), down);
|
|
|
}
|
|
|
|
|
|
}
|