summaryrefslogtreecommitdiff
path: root/noncore/apps/opie-console
authoribotty <ibotty>2002-10-07 13:23:14 (UTC)
committer ibotty <ibotty>2002-10-07 13:23:14 (UTC)
commit68d98791b05217163f97d7c233952df8075416bb (patch) (side-by-side diff)
treeda2ad4d16d62053ca5b836cd08d37364ec12b635 /noncore/apps/opie-console
parenta513a88322196c8caa21b00b83d454feae84200c (diff)
downloadopie-68d98791b05217163f97d7c233952df8075416bb.zip
opie-68d98791b05217163f97d7c233952df8075416bb.tar.gz
opie-68d98791b05217163f97d7c233952df8075416bb.tar.bz2
changed WidgetLayer to a new (well partial) image storage
WidgetLayer is now to be considered stable. there wont be any api removals. newwidget.{h,cpp} will inherit WidgetLayer, soon. i will try to be logic compatible with current widget.{h,cpp}, but will NOT guarantee api compatibility.
Diffstat (limited to 'noncore/apps/opie-console') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/apps/opie-console/widget_layer.cpp26
-rw-r--r--noncore/apps/opie-console/widget_layer.h27
2 files changed, 36 insertions, 17 deletions
diff --git a/noncore/apps/opie-console/widget_layer.cpp b/noncore/apps/opie-console/widget_layer.cpp
index 28227e4..f428ed4 100644
--- a/noncore/apps/opie-console/widget_layer.cpp
+++ b/noncore/apps/opie-console/widget_layer.cpp
@@ -22,6 +22,4 @@
-#define loc(X,Y) ((Y)*m_columns+(X))
-
-WidgetLayer::WidgetLayer( QObject *parent, const char *name ) : QObject( parent, name )
+WidgetLayer::WidgetLayer( QWidget *parent, const char *name ) : QFrame( parent, name )
{
@@ -39,8 +37,13 @@ WidgetLayer::WidgetLayer( QObject *parent, const char *name ) : QObject( parent
- m_image = QArray<Character>();
+ // just for demonstrating
+ //m_image = QArray<Character>( m_lines * m_columns );
+ m_image = QArray<Character>( 1 );
+
}
+
WidgetLayer::~WidgetLayer()
{
- // clean up!
+ // clean up
+ delete m_image;
}
@@ -60,3 +63,3 @@ void WidgetLayer::propagateSize()
{
- QArray<Character> oldimage = m_image;
+ QArray<Character> oldimage = m_image.copy();
int oldlines = m_lines;
@@ -67,6 +70,4 @@ void WidgetLayer::propagateSize()
// copy old image, to reduce flicker
- if ( oldimage )
+ if ( ! oldimage.isEmpty() )
{
- //FIXME: is it possible to do this with QArray.dublicate()?
-
int lins = QMIN( oldlines, m_lines );
@@ -79,3 +80,2 @@ void WidgetLayer::propagateSize()
}
- //free( oldimage );
}
@@ -84,2 +84,4 @@ void WidgetLayer::propagateSize()
+ delete oldimage;
+
m_resizing = true;
@@ -92,4 +94,4 @@ void WidgetLayer::makeImage()
calcGeometry();
- m_image = QArray<Character>();
- clearImage();
+ m_image = QArray<Character>( m_columns * m_lines );
+ clearImage();
}
diff --git a/noncore/apps/opie-console/widget_layer.h b/noncore/apps/opie-console/widget_layer.h
index 07ec12a..99d248e 100644
--- a/noncore/apps/opie-console/widget_layer.h
+++ b/noncore/apps/opie-console/widget_layer.h
@@ -17,2 +17,4 @@
#include <qapplication.h>
+#include <qframe.h>
+#include <qarray.h>
#include <qtimer.h>
@@ -26,3 +28,12 @@
-class WidgetLayer : public QObject
+/*
+ * given a pseudo location ( column, line ),
+ * returns the actual index, in the QArray<Character>
+ */
+#define loc(X,Y) ((Y)*m_columns+(X))
+
+
+
+
+class WidgetLayer : public QFrame
{ Q_OBJECT
@@ -34,3 +45,3 @@ public:
*/
- WidgetLayer( QObject *parent=0, const char *name=0 );
+ WidgetLayer( QWidget *parent=0, const char *name=0 );
@@ -45,3 +56,3 @@ public:
*/
- virtual void setImage( const Character* const newimg, int lines, int colums ) = 0;
+ virtual void setImage( QArray<Character> const newimg, int lines, int colums );
@@ -143,3 +154,3 @@ protected:
/**
- *
+ *determines count of lines and columns
*/
@@ -175,2 +186,8 @@ protected:
* current character image
+ *
+ * a Character at loc( column, line )
+ * has the actual index:
+ * ix = line * m_columns + column;
+ *
+ * use loc( x, y ) macro to access.
*/
@@ -194,3 +211,3 @@ protected:
/**
- * whether widget was resized
+ * whether widget is resizing
*/