#ifndef __BLOP_EPAD_H__
#define __BLOP_EPAD_H__
#include "pad.h"
namespace blop
{
class epad : public pad
{
private:
bool width_fixed_, height_fixed_;
void recalculate_size_();
public:
epad(const length &x1=0.0, const length &y1=0.0,
const length &x2=1.0, const length &y2=1.0);
// ---------- add/remove objects --------------------------------------------------
// and resize this epad also, to the maximum of the widths/heights
// of its contents
void add(grob *g);
bool remove(grob *g);
void prepare_for_draw();
/*
epad &left(const length &l);
epad &right(const length &l) { box::right(l); return *this; }
epad &width(const length &l);
epad &xcenter(const length &l) { box::xcenter(l); return *this; }
epad &bottom(const length &l) { box::bottom(l); return *this; }
epad &top(const length &l) { box::top(l); return *this; }
epad &height(const length &l) { box::height(l); return *this; }
epad &ycenter(const length &l) { box::ycenter(l); return *this; }
*/
epad &layer(const var & l) { pad::layer(l); return *this; }
epad &fix_width(bool f) { width_fixed_ = f; return *this; }
epad &fix_height(bool f) { height_fixed_ = f; return *this; }
};
}
#ifdef __MAKECINT__
#pragma link off function blop::epad::recalculate_size_();
#endif
#endif