LunaSysMgr
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
overlaylayer.h
Go to the documentation of this file.
1 /* @@@LICENSE
2 *
3 * Copyright (c) 2011-2012 Hewlett-Packard Development Company, L.P.
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 * LICENSE@@@ */
18 
19 
20 
21 
22 #ifndef OVERLAYLAYER_H_
23 #define OVERLAYLAYER_H_
24 
25 #include "thingpaintable.h"
26 
27 #include <QPointer>
28 
29 class PixmapObject;
30 
31 namespace OverlayLayerMode
32 {
33  enum Enum
34  {
38  };
39 }
40 
42 {
43  Q_OBJECT
44  Q_PROPERTY(int mode READ mode WRITE setMode)
45 
46 public:
47  OverlayLayer(const QRectF& geometry);
48  virtual ~OverlayLayer();
49 
50  //these are done separately from the ctor because they will access the parentObject (the launcher)
51  // to get the correct positions of the shadows
52  // this is a little more convenient than having to constantly pass launcherobject into each constructed child element
53  // or having to call the "primary instance singleton" getter of launcherobject
54  // Thus, the correct sequence of initializing overlaylayer is:
55  // obj = new OverlayLayer
56  // obj->setParentItem(launcherobj)
57  // obj->setTabBarShadow
58  // obj->setQuickLaunchShadow
59  void setTabBarShadow(PixmapObject * p_shadowPmo);
60  void setQuickLaunchShadow(PixmapObject * p_shadowPmo);
61 
62  virtual int mode() const;
63  virtual void setMode(int v);
64 
65  virtual void paint(QPainter *painter, const QStyleOptionGraphicsItem *option,QWidget *widget);
66  virtual void paintOffscreen(QPainter *painter);
67 
68  virtual bool resize(const QSize& newSize);
69  virtual bool resize(quint32 newWidth,quint32 newHeight);
70 
72 
73 protected:
74 
77 
78 protected:
79 
81  QPointer<PixmapObject> m_qp_tabBarShadow;
83  QPointer<PixmapObject> m_qp_quickLaunchShadow;
85 };
86 
87 #endif /* OVERLAYLAYER_H_ */