summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2015-01-30 20:30:40 +0100
committerSebastian Geerken <devnull@localhost>2015-01-30 20:30:40 +0100
commit3238f21d277704723582ebaf7f5c9d6e0b042bf9 (patch)
treead9a63b3cbdd3333aaf060c4016e90b0a6a4bbe0
parentb1e34672ecbe28c18462cd1b02ba0b2cfc7f772b (diff)
Relative positions, part 2: OOFPosAbsLikeMgr (initial version).
-rw-r--r--doc/dw-out-of-flow.doc20
-rw-r--r--dw/Makefile.am2
-rw-r--r--dw/oofposabslikemgr.cc39
-rw-r--r--dw/oofposabslikemgr.hh21
-rw-r--r--dw/oofposabsmgr.hh4
-rw-r--r--dw/oofposfixedmgr.hh4
6 files changed, 78 insertions, 12 deletions
diff --git a/doc/dw-out-of-flow.doc b/doc/dw-out-of-flow.doc
index f5b73317..2a43b876 100644
--- a/doc/dw-out-of-flow.doc
+++ b/doc/dw-out-of-flow.doc
@@ -4,7 +4,7 @@
padding: 0.5em 1em; background-color: #fff0f0"><b>Info:</b>
Not up to date; incorporate these two changes: (i) there are different
containing blocks for floats and absolutely (furthermore also fixedly)
-positioned elements; (ii) dw::OutOfFlowMgr is now only the base class:
+positioned elements; (ii) dw::OutOfFlowMgr is now only the base class;
floats and absolutely positioned elements are seperated:
\dot
digraph G {
@@ -12,16 +12,20 @@ digraph G {
edge [arrowhead="none", arrowtail="empty", dir="both"];
fontname=Helvetica; fontsize=8;
- OutOfFlowMgr [URL="\ref dw::OutOfFlowMgr"];
- OOFFloatsMgr [URL="\ref dw::OOFFloatsMgr"];
- OOFPositionedMgr [URL="\ref dw::OOFPositionedMgr"];
- OOFPosAbsMgr [URL="\ref dw::OOFPosAbsMgr"];
- OOFPosFixedMgr [URL="\ref dw::OOFPosFixedMgr"];
+ OutOfFlowMgr [URL="\ref dw::oof::OutOfFlowMgr"];
+ OOFFloatsMgr [URL="\ref dw::oof::OOFFloatsMgr"];
+ OOFPositionedMgr [URL="\ref dw::oof::OOFPositionedMgr"];
+ OOFPosAbsLikeMgr [URL="\ref dw::oof::OOFPosAbsLikeMgr"];
+ OOFPosAbsMgr [URL="\ref dw::oof::OOFPosAbsMgr"];
+ OOFPosFixedMgr [URL="\ref dw::oof::OOFPosFixedMgr"];
+ OOFPosRelMgr [URL="\ref dw::oof::OOFPosRelMgr"];
OutOfFlowMgr -> OOFFloatsMgr;
OutOfFlowMgr -> OOFPositionedMgr;
- OOFPositionedMgr -> OOFPosAbsMgr;
- OOFPositionedMgr -> OOFPosFixedMgr;
+ OOFPositionedMgr -> OOFPosAbsLikeMgr;
+ OOFPosAbsLikeMgr -> OOFPosAbsMgr;
+ OOFPosAbsLikeMgr -> OOFPosFixedMgr;
+ OOFPositionedMgr -> OOFPosRelMgr;
}
\enddot
</div>
diff --git a/dw/Makefile.am b/dw/Makefile.am
index 0f743114..ee891234 100644
--- a/dw/Makefile.am
+++ b/dw/Makefile.am
@@ -76,6 +76,8 @@ libDw_widgets_a_SOURCES = \
oofawarewidget.hh \
ooffloatsmgr.cc \
ooffloatsmgr.hh \
+ oofposabslikemgr.cc \
+ oofposabslikemgr.hh \
oofposabsmgr.cc \
oofposabsmgr.hh \
oofposfixedmgr.cc \
diff --git a/dw/oofposabslikemgr.cc b/dw/oofposabslikemgr.cc
new file mode 100644
index 00000000..f73b34d2
--- /dev/null
+++ b/dw/oofposabslikemgr.cc
@@ -0,0 +1,39 @@
+/*
+ * Dillo Widget
+ *
+ * Copyright 2015 Sebastian Geerken <sgeerken@dillo.org>
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License as published by
+ * the Free Software Foundation; either version 3 of the License, or
+ * (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+#include "oofposabslikemgr.hh"
+
+namespace dw {
+
+namespace oof {
+
+OOFPosAbsLikeMgr::OOFPosAbsLikeMgr (OOFAwareWidget *container) :
+ OOFPositionedMgr (container)
+{
+ DBG_OBJ_CREATE ("dw::OOFPosAbsLikeMgr");
+}
+
+OOFPosAbsLikeMgr::~OOFPosAbsLikeMgr ()
+{
+ DBG_OBJ_DELETE ();
+}
+
+} // namespace oof
+
+} // namespace dw
diff --git a/dw/oofposabslikemgr.hh b/dw/oofposabslikemgr.hh
new file mode 100644
index 00000000..0c0e7fef
--- /dev/null
+++ b/dw/oofposabslikemgr.hh
@@ -0,0 +1,21 @@
+#ifndef __DW_OOFPOSABSLIKEMGR_HH__
+#define __DW_OOFPOSABSLIKEMGR_HH__
+
+#include "oofpositionedmgr.hh"
+
+namespace dw {
+
+namespace oof {
+
+class OOFPosAbsLikeMgr: public OOFPositionedMgr
+{
+public:
+ OOFPosAbsLikeMgr (OOFAwareWidget *container);
+ ~OOFPosAbsLikeMgr ();
+};
+
+} // namespace oof
+
+} // namespace dw
+
+#endif // __DW_OOFPOSABSLIKEMGR_HH__
diff --git a/dw/oofposabsmgr.hh b/dw/oofposabsmgr.hh
index f6cc969e..5e00a4ac 100644
--- a/dw/oofposabsmgr.hh
+++ b/dw/oofposabsmgr.hh
@@ -1,13 +1,13 @@
#ifndef __DW_OOFPOSABSMGR_HH__
#define __DW_OOFPOSABSMGR_HH__
-#include "oofpositionedmgr.hh"
+#include "oofposabslikemgr.hh"
namespace dw {
namespace oof {
-class OOFPosAbsMgr: public OOFPositionedMgr
+class OOFPosAbsMgr: public OOFPosAbsLikeMgr
{
protected:
bool isReference (core::Widget *widget);
diff --git a/dw/oofposfixedmgr.hh b/dw/oofposfixedmgr.hh
index 1e099d39..efe46391 100644
--- a/dw/oofposfixedmgr.hh
+++ b/dw/oofposfixedmgr.hh
@@ -1,13 +1,13 @@
#ifndef __DW_OOFPOSFIXEDMGR_HH__
#define __DW_OOFPOSFIXEDMGR_HH__
-#include "oofpositionedmgr.hh"
+#include "oofposabslikemgr.hh"
namespace dw {
namespace oof {
-class OOFPosFixedMgr: public OOFPositionedMgr
+class OOFPosFixedMgr: public OOFPosAbsLikeMgr
{
protected:
bool isReference (core::Widget *widget);