summaryrefslogtreecommitdiffstats
path: root/simulator/app/PhoneButton.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'simulator/app/PhoneButton.cpp')
-rw-r--r--simulator/app/PhoneButton.cpp180
1 files changed, 0 insertions, 180 deletions
diff --git a/simulator/app/PhoneButton.cpp b/simulator/app/PhoneButton.cpp
deleted file mode 100644
index eca7ddcb1..000000000
--- a/simulator/app/PhoneButton.cpp
+++ /dev/null
@@ -1,180 +0,0 @@
-//
-// Copyright 2005 The Android Open Source Project
-//
-// Simulated device data.
-//
-
-// For compilers that support precompilation, include "wx/wx.h".
-#include "wx/wxprec.h"
-
-// Otherwise, include all standard headers
-#ifndef WX_PRECOMP
-# include "wx/wx.h"
-#endif
-#include "wx/image.h" // needed for Windows build
-
-#include "LinuxKeys.h"
-#include "PhoneButton.h"
-
-using namespace android;
-
-
-/*
- * Create a PhoneButton without a backing image.
- */
-bool PhoneButton::Create(const char* label)
-{
- assert(!mHasImage); // quick check for re-use
-
- mKeyCode = LookupKeyCode(label);
- if (mKeyCode == kKeyCodeUnknown) {
- fprintf(stderr, "WARNING: key code '%s' not recognized\n", label);
- // keep going
- }
-
- return true;
-}
-
-/*
- * Create a PhoneButton with an associated image. Don't load the image yet.
- */
-bool PhoneButton::Create(const char* label, const char* imageFileName,
- int x, int y)
-{
- if (!Create(label))
- return false;
-
- if (mSelectedImage.Create(imageFileName, x, y))
- mHasImage = true;
- else
- fprintf(stderr, "Warning: image create (%s, %d, %d) failed\n",
- imageFileName, x, y);
-
- return true;
-}
-
-/*
- * Load the image, if any.
- */
-bool PhoneButton::LoadResources(void)
-{
- if (!mHasImage)
- return true; // no image associated with this button
-
- bool result = mSelectedImage.LoadResources();
- if (result)
- CreateHighlightedBitmap();
- return result;
-}
-
-/*
- * Unload the image if we loaded one.
- */
-bool PhoneButton::UnloadResources(void)
-{
- if (!mHasImage)
- return true;
-
- return mSelectedImage.UnloadResources();
-}
-
-/* use an inline instead of macro so we don't evaluate args multiple times */
-static inline int MinVal(int a, int b) { return (a < b ? a : b); }
-
-/*
- * Create the "highlighted" bitmap from the "selected" image.
- */
-void PhoneButton::CreateHighlightedBitmap(void)
-{
- wxBitmap* src = mSelectedImage.GetBitmap();
- assert(src != NULL);
- wxImage tmpImage = src->ConvertToImage();
-
- unsigned char* pRGB = tmpImage.GetData(); // top-left RGBRGB...
- int x, y;
-
- /*
- * Modify the color used for the "highlight" image.
- */
- for (y = tmpImage.GetHeight()-1; y >= 0; --y) {
- for (x = tmpImage.GetWidth()-1; x >= 0; --x) {
- *(pRGB) = MinVal(*(pRGB) + *(pRGB) / 8, 255);
- *(pRGB+1) = MinVal(*(pRGB+1) + *(pRGB+1) / 8, 255);
- *(pRGB+2) = *(pRGB+2) * 5 / 8;
-
- pRGB += 3;
- }
- }
-
- mHighlightedBitmap = wxBitmap(tmpImage);
-}
-
-/*
- * Check to see if the button "collides" with the specified point.
- *
- * This is currently a simple rectangle check, but could be modified
- * to take image transparency into account.
- */
-bool PhoneButton::CheckCollision(int x, int y) const
-{
- if (!mHasImage)
- return false;
-
- return (x >= mSelectedImage.GetX() &&
- x < mSelectedImage.GetX() + mSelectedImage.GetWidth() &&
- y >= mSelectedImage.GetY() &&
- y < mSelectedImage.GetY() + mSelectedImage.GetHeight());
-}
-
-/*
- * Look up a key code based on a string.
- *
- * Returns kKeyCodeUnknown if the label doesn't match anything.
- */
-KeyCode PhoneButton::LookupKeyCode(const char* label) const
-{
- static const struct {
- const char* label;
- int keyCode;
- } codeList[] = {
- { "soft-left", KEY_MENU },
- { "soft-right", KEY_KBDILLUMUP },
- { "home", KEY_HOME },
- { "back", KEY_BACK },
- { "call", KEY_F3 },
- { "phone-dial", KEY_F3 },
- { "end-call", KEY_F4 },
- { "phone-hangup", KEY_F4 },
- { "0", KEY_0 },
- { "1", KEY_1 },
- { "2", KEY_2 },
- { "3", KEY_3 },
- { "4", KEY_4 },
- { "5", KEY_5 },
- { "6", KEY_6 },
- { "7", KEY_7 },
- { "8", KEY_8 },
- { "9", KEY_9 },
- { "star", KEY_SWITCHVIDEOMODE },
- { "pound", KEY_KBDILLUMTOGGLE },
- { "dpad-up", KEY_UP },
- { "dpad-down", KEY_DOWN },
- { "dpad-left", KEY_LEFT },
- { "dpad-right", KEY_RIGHT },
- { "dpad-center", KEY_REPLY },
- { "volume-up", KEY_VOLUMEUP },
- { "volume-down", KEY_VOLUMEDOWN },
- { "power", KEY_POWER },
- { "camera", KEY_CAMERA },
- //{ "clear", kKeyCodeClear },
- };
- const int numCodes = sizeof(codeList) / sizeof(codeList[0]);
-
- for (int i = 0; i < numCodes; i++) {
- if (strcmp(label, codeList[i].label) == 0)
- return (KeyCode) codeList[i].keyCode;
- }
-
- return kKeyCodeUnknown;
-};
-