mirror of
https://github.com/ultimatepp/ultimatepp.git
synced 2026-05-16 14:16:09 -06:00
96 lines
1.6 KiB
C++
96 lines
1.6 KiB
C++
#include "XMLDragFrame.h"
|
|
|
|
NAMESPACE_UPP
|
|
|
|
// frame layout functions
|
|
void XMLDragFrame::FrameLayout(Rect &r)
|
|
{
|
|
if(align == ToolBar::BAR_LEFT || align == ToolBar::BAR_RIGHT)
|
|
{
|
|
r.left += 3;
|
|
r.right -=3;
|
|
r.top += 10;
|
|
r.bottom -= 3;
|
|
}
|
|
else
|
|
{
|
|
r.left += 10;
|
|
r.right -=3;
|
|
r.top += 3;
|
|
r.bottom -=3;
|
|
}
|
|
}
|
|
|
|
void XMLDragFrame::FrameAddSize(Size &s)
|
|
{
|
|
if(align == ToolBar::BAR_LEFT || align == ToolBar::BAR_RIGHT)
|
|
{
|
|
s.cx += 6;
|
|
s.cy += 13;
|
|
}
|
|
else
|
|
{
|
|
s.cx += 13;
|
|
s.cy += 6;
|
|
}
|
|
}
|
|
|
|
// frame painting
|
|
void XMLDragFrame::FramePaint(Draw& w, const Rect& r)
|
|
{
|
|
w.DrawRect(r, SColorFace());
|
|
int x1 = r.left + 1;
|
|
int x2 = r.right - 1;
|
|
int y1 = r.top + 1;
|
|
int y2 = r.bottom -1;
|
|
w.DrawLine(x1, y1, x2, y1, 1, SColorLight());
|
|
w.DrawLine(x2, y1, x2, y2, 1, SColorShadow());
|
|
w.DrawLine(x2, y2, x1, y2, 1, SColorShadow());
|
|
w.DrawLine(x1, y2, x1, y1, 1, SColorLight());
|
|
if(align == ToolBar::BAR_LEFT || align == ToolBar::BAR_RIGHT)
|
|
{
|
|
x1 = r.left + 5;
|
|
x2 = r.right - 5;
|
|
y1 = r.top + 4;
|
|
y2 = r.top + 9;
|
|
w.DrawLine(x1, y1, x2, y1, 2, SColorShadow());
|
|
w.DrawLine(x1, y2, x2, y2, 2, SColorShadow());
|
|
}
|
|
else
|
|
{
|
|
x1 = r.left + 4;
|
|
x2 = r.left + 9;
|
|
y1 = r.top + 5;
|
|
y2 = r.bottom - 5;
|
|
w.DrawLine(x1, y1, x1, y2, 2, SColorShadow());
|
|
w.DrawLine(x2, y1, x2, y2, 2, SColorShadow());
|
|
}
|
|
}
|
|
|
|
// frame insertion/removing handlers
|
|
void XMLDragFrame::FrameAdd(Ctrl &_parent)
|
|
{
|
|
parent = &_parent;
|
|
}
|
|
|
|
void XMLDragFrame::FrameRemove(void)
|
|
{
|
|
parent = NULL;
|
|
}
|
|
|
|
XMLDragFrame::XMLDragFrame()
|
|
{
|
|
align = ToolBar::BAR_TOP;
|
|
}
|
|
|
|
XMLDragFrame::~XMLDragFrame()
|
|
{
|
|
}
|
|
|
|
XMLDragFrame &XMLDragFrame::Align(int _align)
|
|
{
|
|
align = _align;
|
|
return *this;
|
|
}
|
|
|
|
END_UPP_NAMESPACE
|