summaryrefslogtreecommitdiffstats
path: root/WebKit/android/RenderSkinCombo.h
diff options
context:
space:
mode:
authorThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:05:15 -0800
committerThe Android Open Source Project <initial-contribution@android.com>2008-12-17 18:05:15 -0800
commit1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353 (patch)
tree4457a7306ea5acb43fe05bfe0973b1f7faf97ba2 /WebKit/android/RenderSkinCombo.h
parent9364f22aed35e1a1e9d07c121510f80be3ab0502 (diff)
downloadexternal_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.zip
external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.gz
external_webkit-1cbdecfa9fc428ac2d8aca0fa91c9580b3d57353.tar.bz2
Code drop from //branches/cupcake/...@124589
Diffstat (limited to 'WebKit/android/RenderSkinCombo.h')
-rw-r--r--WebKit/android/RenderSkinCombo.h61
1 files changed, 61 insertions, 0 deletions
diff --git a/WebKit/android/RenderSkinCombo.h b/WebKit/android/RenderSkinCombo.h
new file mode 100644
index 0000000..f962fcc
--- /dev/null
+++ b/WebKit/android/RenderSkinCombo.h
@@ -0,0 +1,61 @@
+/* libs/WebKitLib/WebKit/WebCore/platform/android/RenderSkinCombo.h
+**
+** Copyright 2006, The Android Open Source Project
+**
+** Licensed under the Apache License, Version 2.0 (the "License");
+** you may not use this file except in compliance with the License.
+** You may obtain a copy of the License at
+**
+** http://www.apache.org/licenses/LICENSE-2.0
+**
+** Unless required by applicable law or agreed to in writing, software
+** distributed under the License is distributed on an "AS IS" BASIS,
+** WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+** See the License for the specific language governing permissions and
+** limitations under the License.
+*/
+
+#ifndef RenderSkinCombo_h
+#define RenderSkinCombo_h
+
+#include "RenderSkinAndroid.h"
+#include "SkBitmap.h"
+#include "SkPaint.h"
+#include "SkRect.h"
+
+namespace WebCore {
+
+// This is very similar to RenderSkinButton - maybe they should be the same class?
+class RenderSkinCombo : public RenderSkinAndroid
+{
+public:
+ RenderSkinCombo();
+ virtual ~RenderSkinCombo() {}
+
+ /**
+ * Initialize the class before use. Uses the AssetManager to initialize any bitmaps the class may use.
+ */
+ static void Init(android::AssetManager*);
+
+ virtual bool draw(PlatformGraphicsContext*);
+ virtual void notifyState(Node* element);
+ virtual void setDim(int width, int height);
+
+ // The image is an extra 30 pixels wider than the RenderObject, so this accounts for that.
+ static int extraWidth() { return arrowMargin; }
+
+private:
+ SkRect m_bounds; // Maybe this should become a protected member of RenderSkinAndroid...
+ static SkBitmap m_bitmap[2]; // Collection of assets for a combo box
+ static bool m_decoded; // True if all assets were decoded
+ SkPaint m_paint;
+ // Could probably move m_state into RenderSkinAndroid...
+ // Although notice that the state for RenderSkinRadio is just an integer, and it behaves differently
+ State m_state;
+
+ static const int arrowMargin = 30;
+};
+
+} // WebCore
+
+#endif