5 IntSize(int width, int height) : m_width(width), m_height(height) { }
10 IntPoint(int x, int y) : m_x(x), m_y(y) { }
15 IntRect(int x, int y, int width, int height)
16 : m_location(IntPoint(x, y)), m_size(IntSize(width, height)) { }
17 void intersect(const IntRect&);
21 inline IntRect intersection(const IntRect& a, const IntRect& b) {
28 int contentWidth() const { }
29 int contentHeight() const { }
30 virtual int xPos() const { }
31 virtual int yPos() const { }
32 virtual int paddingTop() const;
33 virtual int paddingLeft() const;
34 virtual int borderTop() const { }
35 virtual int borderLeft() const { }
37 class RenderMenuList : public RenderObject {
38 virtual IntRect controlClipRect(int tx, int ty) const;
39 RenderObject* m_innerBlock;
41 IntRect RenderMenuList::controlClipRect(int tx, int ty) const {
42 IntRect outerBox(tx + borderLeft() + paddingLeft(),
43 ty + borderTop() + paddingTop(),
44 contentWidth(), contentHeight());
45 IntRect innerBox(tx + m_innerBlock->xPos() + m_innerBlock->paddingLeft(),
46 ty + m_innerBlock->yPos() + m_innerBlock->paddingTop(),
47 m_innerBlock->contentWidth(),
48 m_innerBlock->contentHeight());
49 return intersection(outerBox, innerBox);