#include <composition.h>
Inheritance diagram for CompositionWidget:


Definition at line 39 of file composition.h.
Public Slots | |
| void | nextMode () |
Public Member Functions | |
| CompositionWidget (QWidget *parent) | |
Private Attributes | |
| bool | m_cycle_enabled |
| QRadioButton * | rbClear |
| QRadioButton * | rbSource |
| QRadioButton * | rbDest |
| QRadioButton * | rbSourceOver |
| QRadioButton * | rbDestOver |
| QRadioButton * | rbSourceIn |
| QRadioButton * | rbDestIn |
| QRadioButton * | rbSourceOut |
| QRadioButton * | rbDestOut |
| QRadioButton * | rbSourceAtop |
| QRadioButton * | rbDestAtop |
| QRadioButton * | rbXor |
| CompositionWidget::CompositionWidget | ( | QWidget * | parent | ) |
Definition at line 33 of file composition.cpp.
References QBoxLayout::addStretch(), QBoxLayout::addWidget(), QAbstractButton::animateClick(), QObject::connect(), QSizePolicy::Fixed, QGLFormat::hasOpenGL(), QGLPixelBuffer::hasOpenGLPbuffers(), QWidget::hide(), Qt::Horizontal, ArthurFrame::loadDescription(), ArthurFrame::loadSourceFile(), QObject::parent(), QSizePolicy::Preferred, rbClear, rbDest, rbDestAtop, rbDestIn, rbDestOut, rbDestOver, rbSource, rbSourceAtop, rbSourceIn, rbSourceOut, rbSourceOver, rbXor, QWidget::setAttribute(), QAbstractButton::setCheckable(), QAbstractButton::setChecked(), QAbstractSlider::setRange(), QWidget::setSizePolicy(), QAbstractButton::setText(), QGroupBox::setTitle(), QAbstractSlider::setValue(), QWidget::setWindowTitle(), SIGNAL, SLOT, and Qt::WA_ContentsPropagated.
00034 : QWidget(parent) 00035 { 00036 CompositionRenderer *view = new CompositionRenderer(this); 00037 00038 QGroupBox *mainGroup = new QGroupBox(parent); 00039 mainGroup->setAttribute(Qt::WA_ContentsPropagated); 00040 mainGroup->setTitle("Composition Modes"); 00041 00042 QGroupBox *modesGroup = new QGroupBox(mainGroup); 00043 modesGroup->setAttribute(Qt::WA_ContentsPropagated); 00044 modesGroup->setTitle("Mode"); 00045 00046 rbClear = new QRadioButton("Clear", modesGroup); 00047 connect(rbClear, SIGNAL(clicked()), view, SLOT(setClearMode())); 00048 rbSource = new QRadioButton("Source", modesGroup); 00049 connect(rbSource, SIGNAL(clicked()), view, SLOT(setSourceMode())); 00050 rbDest = new QRadioButton("Destination", modesGroup); 00051 connect(rbDest, SIGNAL(clicked()), view, SLOT(setDestMode())); 00052 rbSourceOver = new QRadioButton("Source Over", modesGroup); 00053 connect(rbSourceOver, SIGNAL(clicked()), view, SLOT(setSourceOverMode())); 00054 rbDestOver = new QRadioButton("Destination Over", modesGroup); 00055 connect(rbDestOver, SIGNAL(clicked()), view, SLOT(setDestOverMode())); 00056 rbSourceIn = new QRadioButton("Source In", modesGroup); 00057 connect(rbSourceIn, SIGNAL(clicked()), view, SLOT(setSourceInMode())); 00058 rbDestIn = new QRadioButton("Dest In", modesGroup); 00059 connect(rbDestIn, SIGNAL(clicked()), view, SLOT(setDestInMode())); 00060 rbSourceOut = new QRadioButton("Source Out", modesGroup); 00061 connect(rbSourceOut, SIGNAL(clicked()), view, SLOT(setSourceOutMode())); 00062 rbDestOut = new QRadioButton("Dest Out", modesGroup); 00063 connect(rbDestOut, SIGNAL(clicked()), view, SLOT(setDestOutMode())); 00064 rbSourceAtop = new QRadioButton("Source Atop", modesGroup); 00065 connect(rbSourceAtop, SIGNAL(clicked()), view, SLOT(setSourceAtopMode())); 00066 rbDestAtop = new QRadioButton("Dest Atop", modesGroup); 00067 connect(rbDestAtop, SIGNAL(clicked()), view, SLOT(setDestAtopMode())); 00068 rbXor = new QRadioButton("Xor", modesGroup); 00069 connect(rbXor, SIGNAL(clicked()), view, SLOT(setXorMode())); 00070 00071 QGroupBox *circleColorGroup = new QGroupBox(mainGroup); 00072 circleColorGroup->setAttribute(Qt::WA_ContentsPropagated); 00073 circleColorGroup->setTitle("Circle color"); 00074 QSlider *circleColorSlider = new QSlider(Qt::Horizontal, circleColorGroup); 00075 circleColorSlider->setRange(0, 359); 00076 circleColorSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); 00077 connect(circleColorSlider, SIGNAL(valueChanged(int)), view, SLOT(setCircleColor(int))); 00078 00079 QGroupBox *circleAlphaGroup = new QGroupBox(mainGroup); 00080 circleAlphaGroup->setAttribute(Qt::WA_ContentsPropagated); 00081 circleAlphaGroup->setTitle("Circle alpha"); 00082 QSlider *circleAlphaSlider = new QSlider(Qt::Horizontal, circleAlphaGroup); 00083 circleAlphaSlider->setRange(0, 255); 00084 circleAlphaSlider->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Fixed); 00085 connect(circleAlphaSlider, SIGNAL(valueChanged(int)), view, SLOT(setCircleAlpha(int))); 00086 00087 QPushButton *showSourceButton = new QPushButton(mainGroup); 00088 showSourceButton->setText("Show Source"); 00089 #ifdef QT_OPENGL_SUPPORT 00090 QPushButton *enableOpenGLButton = new QPushButton(mainGroup); 00091 enableOpenGLButton->setText("Use OpenGL"); 00092 enableOpenGLButton->setCheckable(true); 00093 enableOpenGLButton->setChecked(view->usesOpenGL()); 00094 00095 if (!QGLFormat::hasOpenGL() || !QGLPixelBuffer::hasOpenGLPbuffers()) 00096 enableOpenGLButton->hide(); 00097 #endif 00098 QPushButton *whatsThisButton = new QPushButton(mainGroup); 00099 whatsThisButton->setText("What's This?"); 00100 whatsThisButton->setCheckable(true); 00101 00102 QPushButton *animateButton = new QPushButton(mainGroup); 00103 animateButton->setText("Animated"); 00104 animateButton->setCheckable(true); 00105 animateButton->setChecked(true); 00106 00107 QHBoxLayout *viewLayout = new QHBoxLayout(this); 00108 viewLayout->addWidget(view); 00109 viewLayout->addWidget(mainGroup); 00110 00111 QVBoxLayout *mainGroupLayout = new QVBoxLayout(mainGroup); 00112 mainGroupLayout->addWidget(circleColorGroup); 00113 mainGroupLayout->addWidget(circleAlphaGroup); 00114 mainGroupLayout->addWidget(modesGroup); 00115 mainGroupLayout->addStretch(); 00116 mainGroupLayout->addWidget(animateButton); 00117 mainGroupLayout->addWidget(whatsThisButton); 00118 mainGroupLayout->addWidget(showSourceButton); 00119 #ifdef QT_OPENGL_SUPPORT 00120 mainGroupLayout->addWidget(enableOpenGLButton); 00121 #endif 00122 00123 QVBoxLayout *modesLayout = new QVBoxLayout(modesGroup); 00124 modesLayout->addWidget(rbClear); 00125 modesLayout->addWidget(rbSource); 00126 modesLayout->addWidget(rbDest); 00127 modesLayout->addWidget(rbSourceOver); 00128 modesLayout->addWidget(rbDestOver); 00129 modesLayout->addWidget(rbSourceIn); 00130 modesLayout->addWidget(rbDestIn); 00131 modesLayout->addWidget(rbSourceOut); 00132 modesLayout->addWidget(rbDestOut); 00133 modesLayout->addWidget(rbSourceAtop); 00134 modesLayout->addWidget(rbDestAtop); 00135 modesLayout->addWidget(rbXor); 00136 00137 QVBoxLayout *circleColorLayout = new QVBoxLayout(circleColorGroup); 00138 circleColorLayout->addWidget(circleColorSlider); 00139 00140 QVBoxLayout *circleAlphaLayout = new QVBoxLayout(circleAlphaGroup); 00141 circleAlphaLayout->addWidget(circleAlphaSlider); 00142 00143 view->loadDescription(":res/composition.html"); 00144 view->loadSourceFile(":res/composition.cpp"); 00145 00146 connect(whatsThisButton, SIGNAL(clicked(bool)), view, SLOT(setDescriptionEnabled(bool))); 00147 connect(view, SIGNAL(descriptionEnabledChanged(bool)), whatsThisButton, SLOT(setChecked(bool))); 00148 connect(showSourceButton, SIGNAL(clicked()), view, SLOT(showSource())); 00149 #ifdef QT_OPENGL_SUPPORT 00150 connect(enableOpenGLButton, SIGNAL(clicked(bool)), view, SLOT(enableOpenGL(bool))); 00151 #endif 00152 connect(animateButton, SIGNAL(toggled(bool)), view, SLOT(setAnimationEnabled(bool))); 00153 00154 circleColorSlider->setValue(270); 00155 circleAlphaSlider->setValue(200); 00156 rbSourceOut->animateClick(); 00157 00158 setWindowTitle(tr("Composition Modes")); 00159 }
Here is the call graph for this function:

| void CompositionWidget::nextMode | ( | ) | [slot] |
Definition at line 162 of file composition.cpp.
00163 { 00164 /* 00165 if (!m_animation_enabled) 00166 return; 00167 if (rbClear->isChecked()) rbSource->animateClick(); 00168 if (rbSource->isChecked()) rbDest->animateClick(); 00169 if (rbDest->isChecked()) rbSourceOver->animateClick(); 00170 if (rbSourceOver->isChecked()) rbDestOver->animateClick(); 00171 if (rbDestOver->isChecked()) rbSourceIn->animateClick(); 00172 if (rbSourceIn->isChecked()) rbDestIn->animateClick(); 00173 if (rbDestIn->isChecked()) rbSourceOut->animateClick(); 00174 if (rbSourceOut->isChecked()) rbDestOut->animateClick(); 00175 if (rbDestOut->isChecked()) rbSourceAtop->animateClick(); 00176 if (rbSourceAtop->isChecked()) rbDestAtop->animateClick(); 00177 if (rbDestAtop->isChecked()) rbXor->animateClick(); 00178 if (rbXor->isChecked()) rbClear->animateClick(); 00179 */ 00180 }
bool CompositionWidget::m_cycle_enabled [private] |
Definition at line 50 of file composition.h.
QRadioButton* CompositionWidget::rbClear [private] |
QRadioButton* CompositionWidget::rbSource [private] |
QRadioButton* CompositionWidget::rbDest [private] |
QRadioButton* CompositionWidget::rbSourceOver [private] |
QRadioButton* CompositionWidget::rbDestOver [private] |
QRadioButton* CompositionWidget::rbSourceIn [private] |
QRadioButton* CompositionWidget::rbDestIn [private] |
QRadioButton* CompositionWidget::rbSourceOut [private] |
QRadioButton* CompositionWidget::rbDestOut [private] |
QRadioButton* CompositionWidget::rbSourceAtop [private] |
QRadioButton* CompositionWidget::rbDestAtop [private] |
QRadioButton* CompositionWidget::rbXor [private] |
1.5.1