aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSebastian Geerken <devnull@localhost>2015-06-06 22:25:24 +0200
committerSebastian Geerken <devnull@localhost>2015-06-06 22:25:24 +0200
commit826577556fa8b8eedcf1620b4104115d83dbce0b (patch)
tree15bd78cfd44a8fc78aa7502e36a847df7e99e8b2
parent342368d26b9fcb37bd7ea594e3031717dee465c2 (diff)
SRDOP: Positions also for extremes.
-rw-r--r--dw/bullet.cc3
-rw-r--r--dw/bullet.hh3
-rw-r--r--dw/image.cc3
-rw-r--r--dw/image.hh3
-rw-r--r--dw/ruler.cc3
-rw-r--r--dw/ruler.hh3
-rw-r--r--dw/table.cc3
-rw-r--r--dw/table.hh3
-rw-r--r--dw/textblock.cc3
-rw-r--r--dw/textblock.hh3
-rw-r--r--dw/ui.cc2
-rw-r--r--dw/ui.hh3
-rw-r--r--dw/widget.cc9
-rw-r--r--dw/widget.hh11
-rw-r--r--test/dw_simple_container.cc3
-rw-r--r--test/dw_simple_container.hh3
16 files changed, 43 insertions, 18 deletions
diff --git a/dw/bullet.cc b/dw/bullet.cc
index 7fea82a1..f3ce7a3b 100644
--- a/dw/bullet.cc
+++ b/dw/bullet.cc
@@ -43,7 +43,8 @@ void Bullet::sizeRequestImpl (core::Requisition *requisition, bool posDefined,
requisition->descent = 0;
}
-void Bullet::getExtremesImpl (core::Extremes *extremes)
+void Bullet::getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y)
{
extremes->minWidth = extremes->maxWidth = extremes->adjustmentWidth =
extremes->minWidthIntrinsic = extremes->maxWidthIntrinsic =
diff --git a/dw/bullet.hh b/dw/bullet.hh
index 66ca45f6..76ea2553 100644
--- a/dw/bullet.hh
+++ b/dw/bullet.hh
@@ -16,7 +16,8 @@ class Bullet: public core::Widget
protected:
void sizeRequestImpl (core::Requisition *requisition, bool posDefined, int x,
int y);
- void getExtremesImpl (core::Extremes *extremes);
+ void getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y);
void containerSizeChangedForChildren ();
void draw (core::View *view, core::Rectangle *area,
core::DrawingContext *context);
diff --git a/dw/image.cc b/dw/image.cc
index 2a164c7d..77d87a61 100644
--- a/dw/image.cc
+++ b/dw/image.cc
@@ -238,7 +238,8 @@ void Image::sizeRequestImpl (core::Requisition *requisition, bool posDefined,
DBG_OBJ_LEAVE ();
}
-void Image::getExtremesImpl (core::Extremes *extremes)
+void Image::getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y)
{
int contentWidth;
if (buffer)
diff --git a/dw/image.hh b/dw/image.hh
index c8752b22..1de315bd 100644
--- a/dw/image.hh
+++ b/dw/image.hh
@@ -132,7 +132,8 @@ private:
protected:
void sizeRequestImpl (core::Requisition *requisition, bool posDefined, int x,
int y);
- void getExtremesImpl (core::Extremes *extremes);
+ void getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y);
void sizeAllocateImpl (core::Allocation *allocation);
void containerSizeChangedForChildren ();
diff --git a/dw/ruler.cc b/dw/ruler.cc
index ac5644bb..6b3d9bd1 100644
--- a/dw/ruler.cc
+++ b/dw/ruler.cc
@@ -47,7 +47,8 @@ void Ruler::sizeRequestImpl (core::Requisition *requisition, bool posDefined,
requisition->descent = boxRestHeight ();
}
-void Ruler::getExtremesImpl (core::Extremes *extremes)
+void Ruler::getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y)
{
extremes->minWidth = extremes->maxWidth = boxDiffWidth ();
extremes->minWidthIntrinsic = extremes->minWidth;
diff --git a/dw/ruler.hh b/dw/ruler.hh
index 6b28ce8e..abbabe4c 100644
--- a/dw/ruler.hh
+++ b/dw/ruler.hh
@@ -22,7 +22,8 @@ class Ruler: public RegardingBorder
protected:
void sizeRequestImpl (core::Requisition *requisition, bool posDefined, int x,
int y);
- void getExtremesImpl (core::Extremes *extremes);
+ void getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y);
void containerSizeChangedForChildren ();
bool usesAvailWidth ();
void draw (core::View *view, core::Rectangle *area,
diff --git a/dw/table.cc b/dw/table.cc
index 8b8fe853..e8c8f2d1 100644
--- a/dw/table.cc
+++ b/dw/table.cc
@@ -130,7 +130,8 @@ void Table::sizeRequestImpl (core::Requisition *requisition, bool posDefined,
DBG_OBJ_LEAVE ();
}
-void Table::getExtremesImpl (core::Extremes *extremes)
+void Table::getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y)
{
DBG_OBJ_ENTER0 ("resize", 0, "getExtremesImpl");
diff --git a/dw/table.hh b/dw/table.hh
index b4f6a7bc..0f164c90 100644
--- a/dw/table.hh
+++ b/dw/table.hh
@@ -463,7 +463,8 @@ private:
protected:
void sizeRequestImpl (core::Requisition *requisition, bool posDefined, int x,
int y);
- void getExtremesImpl (core::Extremes *extremes);
+ void getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y);
void sizeAllocateImpl (core::Allocation *allocation);
void resizeDrawImpl ();
diff --git a/dw/textblock.cc b/dw/textblock.cc
index 788360b2..6102f21e 100644
--- a/dw/textblock.cc
+++ b/dw/textblock.cc
@@ -446,7 +446,8 @@ void Textblock::getWordExtremes (Word *word, core::Extremes *extremes)
word->size.width;
}
-void Textblock::getExtremesImpl (core::Extremes *extremes)
+void Textblock::getExtremesImpl (core::Extremes *extremes, bool posDefined,
+ int x, int y)
{
DBG_OBJ_ENTER0 ("resize", 0, "getExtremesImpl");
diff --git a/dw/textblock.hh b/dw/textblock.hh
index 6030ff63..907ab4b4 100644
--- a/dw/textblock.hh
+++ b/dw/textblock.hh
@@ -818,7 +818,8 @@ protected:
void sizeRequestImpl (core::Requisition *requisition, bool posDefined, int x,
int y);
Widget *sizeRequestReference ();
- void getExtremesImpl (core::Extremes *extremes);
+ void getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y);
void sizeAllocateImpl (core::Allocation *allocation);
void calcExtraSpaceImpl ();
diff --git a/dw/ui.cc b/dw/ui.cc
index f5478589..0a749c9b 100644
--- a/dw/ui.cc
+++ b/dw/ui.cc
@@ -54,7 +54,7 @@ void Embed::sizeRequestImpl (Requisition *requisition, bool posDefined, int x,
resource->sizeRequest (requisition);
}
-void Embed::getExtremesImpl (Extremes *extremes)
+void Embed::getExtremesImpl (Extremes *extremes, bool posDefined, int x, int y)
{
resource->getExtremes (extremes);
correctExtremes (extremes, false);
diff --git a/dw/ui.hh b/dw/ui.hh
index 3196ddc1..25033ca8 100644
--- a/dw/ui.hh
+++ b/dw/ui.hh
@@ -230,7 +230,8 @@ private:
protected:
void sizeRequestImpl (Requisition *requisition, bool posDefined, int x,
int y);
- void getExtremesImpl (Extremes *extremes);
+ void getExtremesImpl (Extremes *extremes, bool posDefined, int x,
+ int y);
void sizeAllocateImpl (Allocation *allocation);
int getAvailWidthOfChild (Widget *child, bool forceValue);
diff --git a/dw/widget.cc b/dw/widget.cc
index 252ff8c8..18555fa4 100644
--- a/dw/widget.cc
+++ b/dw/widget.cc
@@ -988,7 +988,7 @@ int Widget::calcHeight (style::Length cssValue, bool usePercentage,
/**
* \brief Wrapper for Widget::getExtremesImpl().
*/
-void Widget::getExtremes (Extremes *extremes)
+void Widget::getExtremes (Extremes *extremes, bool posDefined, int x, int y)
{
assert (!queueResizeEntered ());
@@ -1011,7 +1011,7 @@ void Widget::getExtremes (Extremes *extremes)
// For backward compatibility (part 1/2):
extremes->minWidthIntrinsic = extremes->maxWidthIntrinsic = -1;
- getExtremesImpl (extremes);
+ getExtremesImpl (extremes, posDefined, x, y);
// For backward compatibility (part 2/2):
if (extremes->minWidthIntrinsic == -1)
@@ -1059,6 +1059,11 @@ Widget *Widget::sizeRequestReference ()
return NULL;
}
+Widget *Widget::getExtremesReference ()
+{
+ return NULL;
+}
+
/**
* \brief Wrapper for Widget::sizeAllocateImpl, calls the latter only when
* needed.
diff --git a/dw/widget.hh b/dw/widget.hh
index a9a38087..ed7eae2b 100644
--- a/dw/widget.hh
+++ b/dw/widget.hh
@@ -286,7 +286,8 @@ protected:
/**
* \brief See \ref dw-widget-sizes.
*/
- virtual void getExtremesImpl (Extremes *extremes) = 0;
+ virtual void getExtremesImpl (Extremes *extremes, bool posDefined, int x,
+ int y) = 0;
virtual void calcExtraSpaceImpl ();
@@ -449,9 +450,15 @@ public:
*/
virtual Widget *sizeRequestReference ();
+ /**
+ * \brief See \ref dw-widget-sizes (or \ref dw-size-request-pos).
+ */
+ virtual Widget *getExtremesReference ();
+
void sizeRequest (Requisition *requisition, bool posDefined = false,
int x = 0, int y = 0);
- void getExtremes (Extremes *extremes);
+ void getExtremes (Extremes *extremes, bool posDefined = false, int x = 0,
+ int y = 0);
void sizeAllocate (Allocation *allocation);
void calcExtraSpace ();
diff --git a/test/dw_simple_container.cc b/test/dw_simple_container.cc
index bd1ce47d..26d030a3 100644
--- a/test/dw_simple_container.cc
+++ b/test/dw_simple_container.cc
@@ -177,7 +177,8 @@ void SimpleContainer::sizeRequestImpl (Requisition *requisition,
}
-void SimpleContainer::getExtremesImpl (Extremes *extremes)
+void SimpleContainer::getExtremesImpl (Extremes *extremes, bool posDefined,
+ int x, int y)
{
Extremes childExtr;
if (child)
diff --git a/test/dw_simple_container.hh b/test/dw_simple_container.hh
index 98d1ed86..10c4b712 100644
--- a/test/dw_simple_container.hh
+++ b/test/dw_simple_container.hh
@@ -36,7 +36,8 @@ private:
protected:
void sizeRequestImpl (core::Requisition *requisition, bool posDefined, int x,
int y);
- void getExtremesImpl (core::Extremes *extremes);
+ void getExtremesImpl (core::Extremes *extremes, bool posDefined, int x,
+ int y);
void sizeAllocateImpl (core::Allocation *allocation);
public: