RenderFlexibleBox.h [plain text]
#ifndef RENDER_FLEXIBLE_BOX_H
#define RENDER_FLEXIBLE_BOX_H
#include "RenderBlock.h"
namespace WebCore {
class RenderFlexibleBox : public RenderBlock
{
public:
RenderFlexibleBox(Node*);
virtual ~RenderFlexibleBox();
virtual void calcMinMaxWidth();
void calcHorizontalMinMaxWidth();
void calcVerticalMinMaxWidth();
virtual void layoutBlock(bool relayoutChildren);
void layoutHorizontalBox(bool relayoutChildren);
void layoutVerticalBox(bool relayoutChildren);
virtual bool isFlexibleBox() const { return true; }
virtual bool isFlexingChildren() const { return m_flexingChildren; }
virtual bool isStretchingChildren() const { return m_stretchingChildren; }
virtual const char *renderName() const;
void placeChild(RenderObject* child, int x, int y);
protected:
int allowedChildFlex(RenderObject* child, bool expanding, unsigned int group);
bool hasMultipleLines() { return style()->boxLines() == MULTIPLE; }
bool isVertical() { return style()->boxOrient() == VERTICAL; }
bool isHorizontal() { return style()->boxOrient() == HORIZONTAL; }
bool m_flexingChildren : 1;
bool m_stretchingChildren : 1;
};
};
#endif // RENDER_FLEXIBLE_BOX_H