From 3238f21d277704723582ebaf7f5c9d6e0b042bf9 Mon Sep 17 00:00:00 2001 From: Sebastian Geerken Date: Fri, 30 Jan 2015 20:30:40 +0100 Subject: Relative positions, part 2: OOFPosAbsLikeMgr (initial version). --- doc/dw-out-of-flow.doc | 20 ++++++++++++-------- dw/Makefile.am | 2 ++ dw/oofposabslikemgr.cc | 39 +++++++++++++++++++++++++++++++++++++++ dw/oofposabslikemgr.hh | 21 +++++++++++++++++++++ dw/oofposabsmgr.hh | 4 ++-- dw/oofposfixedmgr.hh | 4 ++-- 6 files changed, 78 insertions(+), 12 deletions(-) create mode 100644 dw/oofposabslikemgr.cc create mode 100644 dw/oofposabslikemgr.hh 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">Info: 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 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 + * + * 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 . + */ + +#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); -- cgit v1.2.3