summaryrefslogtreecommitdiffstats
path: root/src/komposegl/komposegldesktopwidget.cpp
diff options
context:
space:
mode:
authorMavridis Philippe <mavridisf@gmail.com>2021-04-01 18:38:44 +0300
committerMavridis Philippe <mavridisf@gmail.com>2021-04-01 18:38:44 +0300
commit572c52c8158af1677426eb2807670c3195db1334 (patch)
treec392f8ccb65c73a70255fd9cc1c17c7f1baf20af /src/komposegl/komposegldesktopwidget.cpp
parentb8ab296c94256ca11a4c88ba55ece9ba88dd81f4 (diff)
downloadkompose-572c52c8158af1677426eb2807670c3195db1334.tar.gz
kompose-572c52c8158af1677426eb2807670c3195db1334.zip
Moved currently unused GL-related sources to separate directory.
Signed-off-by: Mavridis Philippe <mavridisf@gmail.com>
Diffstat (limited to 'src/komposegl/komposegldesktopwidget.cpp')
-rw-r--r--src/komposegl/komposegldesktopwidget.cpp116
1 files changed, 116 insertions, 0 deletions
diff --git a/src/komposegl/komposegldesktopwidget.cpp b/src/komposegl/komposegldesktopwidget.cpp
new file mode 100644
index 0000000..6b8d857
--- /dev/null
+++ b/src/komposegl/komposegldesktopwidget.cpp
@@ -0,0 +1,116 @@
+//
+// C++ Implementation: komposegldesktopwidget
+//
+// Description:
+//
+//
+// Author: Hans Oischinger <oisch@sourceforge.net>, (C) 2004
+//
+// Copyright: See COPYING file that comes with this distribution
+//
+//
+#include "komposegldesktopwidget.h"
+
+#include "komposetask.h"
+#include "komposegltaskwidget.h"
+#include "komposetaskmanager.h"
+
+#include <tqdesktopwidget.h>
+#include <tqobjectlist.h>
+#include <kdebug.h>
+
+#include <GL/gl.h>
+
+KomposeGLDesktopWidget::KomposeGLDesktopWidget(int desktop, TQObject *parent, const char *name)
+ : KomposeGLWidget( parent ),
+ deskNum( desktop )
+{
+ // Retrieve geometry
+ TQDesktopWidget *deskwidget = new TQDesktopWidget();
+ deskRect = deskwidget->availableGeometry();
+ delete deskwidget;
+
+ createTaskWidgets();
+
+ //connect( KomposeTaskManager::instance(), SIGNAL( newTask( KomposeTask* ) ), this, SLOT( createTaskWidget( KomposeTask* ) ) );
+}
+
+
+KomposeGLDesktopWidget::~KomposeGLDesktopWidget()
+{}
+
+void KomposeGLDesktopWidget::createTaskWidgets()
+{
+ TaskList tl = KomposeTaskManager::instance()->getTasks();
+ tqDebug("KomposeGLDesktopWidget::createTaskWidgets() on %d tasks", tl.count());
+ TQPtrListIterator<KomposeTask> it( tl );
+ KomposeTask *task;
+ while ( (task = it.current()) != 0 )
+ {
+ ++it;
+ TQ_CHECK_PTR(task);
+ createTaskWidget( task );
+ }
+}
+
+
+void KomposeGLDesktopWidget::createTaskWidget( KomposeTask* task )
+{
+ if (deskNum == task->onDesktop()-1 )
+ {
+ tqDebug("KomposeGLDesktopWidget::createTaskWidget()" );
+ KomposeGLTaskWidget *taskwidget = new KomposeGLTaskWidget( task, this, 0, "" );
+ }
+}
+
+int KomposeGLDesktopWidget::getHeightForWidth( int w ) const
+{
+ tqDebug("KomposeGLDesktopWidget::getHeightForWidth()");
+ return ((double)w / (double)deskRect.width()) * deskRect.height();
+}
+
+int KomposeGLDesktopWidget::getWidthForHeight( int h ) const
+{
+ tqDebug("KomposeGLDesktopWidget::getWidthForHeight()");
+ return ((double)h / (double)deskRect.height()) * deskRect.width();
+}
+
+double KomposeGLDesktopWidget::getAspectRatio()
+{
+ tqDebug("KomposeGLDesktopWidget::getAspectRatio()");
+ return (double)deskRect.width() / (double)deskRect.height();
+}
+
+
+void KomposeGLDesktopWidget::draw()
+{
+ KomposeGLWidget::draw();
+ tqDebug("KomposeGLDesktopWidget::draw() - %d,%d %dx%d", getRect().x(), getRect().y(), getRect().width(), getRect().height());
+ glColor3f(0.0f, 0.0f, 1.0f);
+
+ glBegin( GL_QUADS );
+ glVertex2i( getRect().x() + getRect().width(), getRect().y() );
+ glVertex2i( getRect().x(), getRect().y() );
+ glVertex2i( getRect().x(), getRect().y() + getRect().height() );
+ glVertex2i( getRect().x() + getRect().width(), getRect().y() + getRect().height() );
+ glEnd();
+
+ // Draw Task Widgets
+ TQPtrListIterator<KomposeGLWidget> it( list );
+
+ // Check or empty list
+ if (it.count() == 0)
+ {
+ tqDebug("KomposeGLDesktopWidget::draw() - empty list... skipping!");
+ return;
+ }
+
+ KomposeGLWidget *widget;
+ while ( (widget = (KomposeGLWidget*)it.current()) != 0 )
+ {
+ ++it;
+ widget->draw();
+ }
+}
+
+#include "komposegldesktopwidget.moc"