summaryrefslogtreecommitdiff
path: root/libopie/ocolorbutton.cpp
authorzecke <zecke>2003-04-13 16:57:28 (UTC)
committer zecke <zecke>2003-04-13 16:57:28 (UTC)
commit0b311079ff19798866291034663757103c6ba935 (patch) (side-by-side diff)
tree70ddccf3a3147475050fa06cc2d807a71ab1d5ee /libopie/ocolorbutton.cpp
parent1537ccb435ca725c793db6e94e0b9e83484b57e7 (diff)
downloadopie-0b311079ff19798866291034663757103c6ba935.zip
opie-0b311079ff19798866291034663757103c6ba935.tar.gz
opie-0b311079ff19798866291034663757103c6ba935.tar.bz2
Jumbo API documentation update
and some API fixed ColorDialog is now OColorDialog!!! keep the namespace tidy! ColorPopupMenu is now OColorPopupMenu!!! keep the namespace tidy ColorDialog TT couldn't break bc we can so make it const QColor& OTimePicker add some convience methods more I might have forgot
Diffstat (limited to 'libopie/ocolorbutton.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--libopie/ocolorbutton.cpp45
1 files changed, 33 insertions, 12 deletions
diff --git a/libopie/ocolorbutton.cpp b/libopie/ocolorbutton.cpp
index ddb6c4f..113a77a 100644
--- a/libopie/ocolorbutton.cpp
+++ b/libopie/ocolorbutton.cpp
@@ -34,18 +34,26 @@
#include <qpe/resource.h>
-class OColorButtonPrivate {
-public:
- QPopupMenu *m_menu;
- QColor m_color;
+struct OColorButtonPrivate {
+ QPopupMenu *m_menu;
+ QColor m_color;
};
+
+/**
+ * This concstructs a Color Button with @param color as the start color
+ * It'll use a OColorPopupMenu internally
+ *
+ * @param parent The parent of the Color Button
+ * @param color The color from where to start on
+ * @param name @see QObject
+ */
OColorButton::OColorButton ( QWidget *parent, const QColor &color, const char *name )
: QPushButton ( parent, name )
{
d = new OColorButtonPrivate;
- d-> m_menu = new ColorPopupMenu ( color, 0, 0 );
+ d-> m_menu = new OColorPopupMenu ( color, 0, 0 );
setPopup ( d-> m_menu );
// setPopupDelay ( 0 );
connect ( d-> m_menu, SIGNAL( colorSelected ( const QColor & )), this, SLOT( updateColor ( const QColor & )));
@@ -57,37 +65,50 @@ OColorButton::OColorButton ( QWidget *parent, const QColor &color, const char *n
setMaximumSize ( s. width ( ) * 2, s. height ( ));
}
+/**
+ * This destructs the object
+ */
OColorButton::~OColorButton ( )
{
delete d;
}
+/**
+ * @return Returns the current color of the button
+ */
QColor OColorButton::color ( ) const
{
return d-> m_color;
}
+/**
+ * This method sets the color of the button
+ * @param c The color to be set.
+ */
void OColorButton::setColor ( const QColor &c )
{
updateColor ( c );
}
+/**
+ * @internal
+ */
void OColorButton::updateColor ( const QColor &c )
{
d-> m_color = c;
-
+
QImage img ( 16, 16, 32 );
img. fill ( 0 );
-
+
int r, g, b;
c. rgb ( &r, &g, &b );
-
+
int w = img. width ( );
int h = img. height ( );
-
+
int dx = w * 20 / 100; // 15%
int dy = h * 20 / 100;
-
+
for ( int y = 0; y < h; y++ ) {
for ( int x = 0; x < w; x++ ) {
double alpha = 1.0;
@@ -100,7 +121,7 @@ void OColorButton::updateColor ( const QColor &c )
alpha *= ( double ( y + 1 ) / dy );
else if ( y >= h - dy )
alpha *= ( double ( h - y ) / dy );
-
+
int a = int ( alpha * 255.0 );
if ( a < 0 )
a = 0;
@@ -114,7 +135,7 @@ void OColorButton::updateColor ( const QColor &c )
QPixmap pix;
pix. convertFromImage ( img );
- setPixmap ( pix );
+ setPixmap ( pix );
emit colorSelected ( c );
}