uppsrc: Cleaning nonapp main packages

git-svn-id: svn://ultimatepp.org/upp/trunk@1169 f0d560ea-af0d-0410-9eb7-867de7ffcac7
This commit is contained in:
cxl 2009-05-14 06:18:42 +00:00
parent ee73647eea
commit 430fe6515d
39 changed files with 29 additions and 5533 deletions

View file

@ -147,7 +147,3 @@ file
srcimp.tpp,
Copying;
mainconfig
"Normal" = "",
"Remote shared" = "SHARED";

View file

@ -1,4 +1,4 @@
description "Partly heurestic (imprecise) C++ parser for purposes of Assist++ (intellisense)";
description "Partly heurestic (imprecise) C++ parser for purposes of Assist++ (intellisense)\377";
optimize_speed;
@ -17,6 +17,3 @@ file
Info readonly separator,
Copying;
mainconfig
"" = "";

View file

@ -54,6 +54,3 @@ file
srcdoc.tpp,
Copying;
mainconfig
"Debug" = "MSC GUI DEBUG WIN32";

View file

@ -2,7 +2,7 @@
#define _CtrlCore_icpp_init_stub
#include "Draw/init"
#include "plugin\bmp/init"
#define BLITZ_INDEX__ F558C58023E3A844EE560E2C19C8138B7
#define BLITZ_INDEX__ FB3E0491FDAF450E6D637F4F642457D2F
#include "CtrlCore.icpp"
#undef BLITZ_INDEX__
#endif

View file

@ -240,9 +240,12 @@ Value XpLookFn(Draw& w, const Rect& rect, const Value& v, int op)
r.bottom++;
}
if(htheme) {
HDC hdc = w.BeginGdi();
XpTheme().DrawThemeBackground(htheme, hdc, e.part, e.state, r, NULL);
w.EndGdi();
SystemDraw *sw = dynamic_cast<SystemDraw *>(&w);
if(sw) {
HDC hdc = sw->BeginGdi();
XpTheme().DrawThemeBackground(htheme, hdc, e.part, e.state, r, NULL);
sw->EndGdi();
}
}
if(e.whista)
w.End();

View file

@ -13,6 +13,3 @@ file
Info readonly separator,
Copying;
mainconfig
"Debug" = "GUI";

View file

@ -1,4 +1,4 @@
description "DropGrid";
description "DropGrid\377";
uses
CtrlLib,
@ -7,9 +7,5 @@ uses
file
DropGrid.h,
DropGrid.cpp,
DropGrid.usc,
main.cpp;
mainconfig
"" = "GUI";
DropGrid.usc;

5
uppsrc/DropGrid/init Normal file
View file

@ -0,0 +1,5 @@
#ifndef _DropGrid_icpp_init_stub
#define _DropGrid_icpp_init_stub
#include "CtrlLib/init"
#include "GridCtrl/init"
#endif

View file

@ -1,55 +1 @@
#include <CtrlLib/CtrlLib.h>
#include <GridCtrl/GridCtrl.h>
#include <DropGrid/DropGrid.h>
using namespace Upp;
struct App : public TopWindow
{
DropGrid drop;
App()
{
Sizeable().Zoomable();
SetRect(Size(600, 100));
Title("DropGrid");
drop.ClearButton();
drop.AddPlus(THISBACK(Action));
Add(drop.LeftPosZ(20, 350).TopPosZ(20, 19));
drop.AddColumn("ID");
drop.AddColumn("Value");
drop.AddColumn("Description");
drop.AddText("Add person", THISBACK(Action));
drop.AddText("Add client", THISBACK(Action)).Left().SetImage(GridImg::Append());
drop.AddSelect(THISBACK(Action)).Left();
for(int i = 0; i < 20; i++)
drop.Add(i, Format("Hello %d", i), Format("How are you mr Hello %d", i));
drop.Width(300);
drop.DisplayAll(0);/*NoHeader(0)*///NotNull();
drop.ColorRows();
drop.SetDropLines(15);
drop.SetValueColumn(1);
drop.AddValueColumn(0).AddValueColumn(1);
}
void Action()
{
}
typedef App CLASSNAME;
};
#ifdef flagMAIN
GUI_APP_MAIN
{
App().Run();
}
#endif

View file

@ -1,4 +1,4 @@
description "Widget to display hexadecimal dumps (e.g. memory in debugger)";
description "Widget to display hexadecimal dumps (e.g. memory in debugger)\377";
uses
CtrlLib;
@ -10,6 +10,3 @@ file
Info readonly separator,
Copying;
mainconfig
"" = "";

View file

@ -14,6 +14,3 @@ file
Info readonly separator,
Copying;
mainconfig
"" = "GUI";

View file

@ -1,7 +1,7 @@
#ifndef _PdfDraw_icpp_init_stub
#define _PdfDraw_icpp_init_stub
#include "Draw/init"
#define BLITZ_INDEX__ F4543603AB150C6109EA1477D5C54CC3C
#define BLITZ_INDEX__ F5A36F1780A11422743BA5B19FDABB871
#include "PdfReport.icpp"
#undef BLITZ_INDEX__
#endif

View file

@ -1,9 +0,0 @@
#ifndef _PlatformRef_PlatformRef_h
#define _PlatformRef_PlatformRef_h
#include <CtrlLib/CtrlLib.h>
using namespace Upp;
#endif

View file

@ -1,10 +0,0 @@
uses
CtrlLib;
file
PlatformRef.h,
main.cpp;
mainconfig
"" = "GUI";

View file

@ -1,49 +0,0 @@
#include "PlatformRef.h"
struct PlatformRef : public TopWindow {
public:
String mouse, keyboard;
virtual void Paint(Draw& w);
virtual void MouseMove(Point p, dword flags);
virtual bool Key(dword key, int count);
typedef PlatformRef CLASSNAME;
PlatformRef();
};
void PlatformRef::MouseMove(Point p, dword flags)
{
mouse = AsString(p);
Refresh();
Title(mouse);
}
void PlatformRef::Paint(Draw& w)
{
Size sz = GetSize();
w.DrawRect(sz, White);
w.DrawText(0, 0, keyboard);
Size tsz = GetTextSize(mouse, StdFont());
w.DrawText(sz.cx - tsz.cx, 0, mouse);
ImageBuffer ib(128, 128);
}
bool PlatformRef::Key(dword key, int count)
{
keyboard = GetKeyDesc(key);
Refresh();
return false;
}
PlatformRef::PlatformRef()
{
}
GUI_APP_MAIN
{
PlatformRef().Run();
}

View file

@ -1,4 +1,4 @@
description "Preview and printing of reports";
description "Preview and printing of reports\377";
uses
CtrlLib,
@ -12,6 +12,3 @@ file
Report.lay,
Report.t charset "UTF-8";
mainconfig
"" = "GUI";

8
uppsrc/Report/init Normal file
View file

@ -0,0 +1,8 @@
#ifndef _Report_icpp_init_stub
#define _Report_icpp_init_stub
#include "CtrlLib/init"
#include "RichText/init"
#define BLITZ_INDEX__ F3FACA531BB60CD922146A1426EFE7B0D
#include "ReportI.icpp"
#undef BLITZ_INDEX__
#endif

View file

@ -1,21 +0,0 @@
Copyright 1998-2008 The U++ Project. All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted
provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of
conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of
conditions and the following disclaimer in the documentation and/or other materials
provided with the distribution.
THIS SOFTWARE IS PROVIDED BY THE U++ PROJECT ``AS IS'' AND ANY EXPRESS OR IMPLIED
WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND
FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FREEBSD PROJECT OR
CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
OF THE POSSIBILITY OF SUCH DAMAGE.

File diff suppressed because it is too large Load diff

View file

@ -1,330 +0,0 @@
#ifndef _VectorDes_VectorDes_h_
#define _VectorDes_VectorDes_h_
#include <CtrlLib/CtrlLib.h>
#include <Web/Web.h>
#include <RichText/RichText.h>
#include "VectorObj.h"
One<Ctrl> CreateVectorFontCtrl();
class DragDropCtrl : public Ctrl
{
public:
DragDropCtrl();
// drag & drop interface
virtual bool Push(Point pt, dword keyflags);
virtual void Drag(Point pt, Point last, Point next, dword keyflags);
virtual void Drop(Point pt, Point end, dword keyflags);
virtual void Click(Point pt, dword keyflags);
static const int DBLCLK = 0x40000000;
virtual void DragRect(const Rect& last, const Rect& next, dword keyflags);
virtual void DropRect(const Rect& rc, dword keyflags);
void DragShow(bool _show = true);
void DragHide() { DragShow(false); }
void DragStop(bool accept, dword keyflags);
void DragStop(bool accept = false) { DragStop(accept, last_key); }
bool IsDragging() const { return state == ON || state == HIDDEN; }
bool IsPushed() const { return state != OFF; }
// control overrides
virtual void LeftDown(Point pt, dword keyflags);
virtual void LeftDouble(Point pt, dword keyflags);
virtual void LeftUp(Point pt, dword keyflags);
virtual void MouseMove(Point pt, dword keyflags);
virtual bool Key(dword key, int repcnt);
private:
Point start, last;
dword last_key;
char state;
enum { OFF, ON, POSSIBLE, HIDDEN };
};
class VectorCtrl : public DragDropCtrl
{
public:
typedef VectorCtrl CLASSNAME;
VectorCtrl();
virtual void Layout();
virtual void Paint(Draw& draw);
virtual void SetData(const Value& value);
virtual Value GetData() const;
virtual Image CursorImage(Point pt, dword keyflags);
virtual void MouseMove(Point pt, dword keyflags);
virtual void RightDown(Point pt, dword keyflags);
virtual bool Key(dword key, int repcount);
virtual bool Push(Point pt, dword keyflags);
virtual void Drag(Point pt, Point last, Point next, dword keyflags);
virtual void Drop(Point pt, Point end, dword keyflags);
virtual void Click(Point pt, dword keyflags);
Ctrl& GetArgParent() { return arg_parent; }
void SetZoom(Zoom zoom);
Zoom GetZoom() const { return zoom; }
void SetImageSize(Size sz);
Size GetImageSize() const { return image.GetSize(); }
void SetImage(VectorImage img);
VectorImage GetImage() const { return image; }
void ClearSelection();
void AddSelection(int sel) { AddSelection(sel, -1); }
void AddSelection(int sel, int track);
void AddSelection(const VectorMap< int, Index<int> >& sel);
void XorSelection(const VectorMap< int, Index<int> >& sel);
void PickSelection(pick_ VectorMap< int, Index<int> >& sel);
void RemoveSelection(const Vector<int>& rm_index);
const Vector<int>& GetSelected() const { return selection.GetKeys(); }
bool IsSelection() const { return !selection.IsEmpty(); }
int GetSelCount() const { return selection.GetCount(); }
int GetSelObject(int i) const { return selection.GetKey(i); }
const Index<int>& GetSelTrack(int i) const { return selection[i]; }
bool IsSelected(int i) const { return selection.Find(i) >= 0; }
const Index<int> &FindSelTrack(int i) const;
void PostSyncArgEditors();
void SyncArgEditors();
void SyncCoords(Point coords);
Point ClientToImage(Point pt) const;
Point ImageToClient(Point pt) const;
Rect ClientToImage(Rect rc) const;
Rect ImageToClient(Rect rc) const;
Point ClientToSnap(Point pt) const;
int AddObject(One<VectorObject> object);
void RemoveObject(int i);
void MoveObject(int i, int j);
void InsertMenu(Bar& bar);
void LocalMenu(Bar& bar);
void EditMenu(Bar& bar);
void AlignHorzMenu(Bar& bar);
void AlignVertMenu(Bar& bar);
void SizeMenu(Bar& bar);
void ViewMenu(Bar& bar);
void DoEditSetup();
void DoEditCopy();
void DoEditCut();
void DoEditPaste();
void DoEditDuplicate();
void DoEditEdit();
void DoEditDelete();
bool Copy();
void PickPaste(VectorImage img);
void DoAlign(Alignment halign, Alignment valign);
void DoSameSize(bool cx, bool cy);
void DoViewZoomIn();
void DoViewZoomOut();
void DoViewZoomFull();
void DoViewZoomArea();
void DoViewPan();
public:
Callback WhenArgLayout;
Callback WhenUserSelect;
Callback WhenRescan;
Callback WhenImageSize;
struct Setup {
Setup();
bool grid;
bool snap;
bool snap_to_objects;
bool grid_above_objects;
Size grid_size;
Size snap_size;
int grid_style;
enum { GRID_LINES, GRID_POINTS };
void Serialize(Stream& stream);
void LoadGlobal();
void SaveGlobal();
};
Setup setup;
private:
void KeyMove(int dx, int dy, bool resize);
void OnScroll();
void OnNewObject(const VectorInfo *i);
void OnArgEdit(int i, Ctrl *ctrl);
void OnArgMulti(Button *button, Ctrl *editor);
void PaintGrid(ScalingDraw& scaled);
// bool GetNewStyle(int& i1, int& i2);
// Rect ApplyRect(Point pt, Point end, Rect rc) const;
Point GetTrackMode(Point pt, Point& nearest) const;
Scaling GetImageScaling() const;
Size ClientOffset() const { return scrollbars.Get() - GAP; }
private:
VectorImage image;
VectorMap< int, Index<int> > selection;
One<VectorObject> new_object;
One<VectorObject> empty_object;
enum { IC_IDENT, IC_WIDTH, IC_HEIGHT, IC_IMAGE, IC_COUNT };
int editmode;
enum { EDIT_TRACK, EDIT_ZOOM, EDIT_PAN };
enum { MAXDIST2 = 20 * 20 };
Point trackmode;
Point pan_start;
Point track_start;
Image new_icon;
Zoom zoom;
Size pixel_size;
ScrollBars scrollbars;
enum { GAP = 5 };
StaticRect arg_parent;
EditField tool_coords;
struct ArgEditor {
String name;
int vtype;
int editor;
Value value;
bool multi;
Vector<Point> obj_args;
};
struct ArgEditCtrl {
Label label;
One<Ctrl> editor;
};
ArrayMap<String, ArgEditor> sel_args;
Array<Ctrl> sel_editors;
TimeCallback tc_sync_editors;
TimeCallback tc_refresh;
};
class VectorDesHost
{
};
class VectorDes : public StaticRect
{
friend class VectorDesigner;
public:
typedef VectorDes CLASSNAME;
VectorDes(VectorDesHost& host);
virtual ~VectorDes();
virtual bool Key(dword key, int repcnt);
virtual void ChildGotFocus();
void CloseDesigner();
void FrameFocus();
void LoadVecFile(CParser& parser);
String SaveVecFile();
void LoadSingle(VectorImage img);
VectorImage SaveSingle() const;
Size GetImageSize() const { return editor.GetImageSize(); }
void EditMenu(Bar& bar);
public:
Callback WhenSyncTitle;
Callback WhenRescan;
private:
void Rescan() { toolbar.Set(THISBACK(EditMenu)); WhenRescan(); }
void KeyScan(int dx, int dy, bool resize);
void OnImageListCursor();
void OnImageSize();
void OnUserImageSize();
void OnArgLayout();
void OnArgScroll();
void OnUserSelect();
void PostObjectCursor();
void OnObjectCursor();
void ObjectMenu(Bar& bar);
void ObjectDelete();
void ObjectMoveBack();
void ObjectMoveFront();
// void ObjectProperties();
void OnObject();
struct ConvertObject : Convert
{
ConvertObject(VectorCtrl& owner) : owner(owner) {}
virtual Value Format(const Value& value) const
{
if(!IsNull(value) && IsNumber(value)) {
int i = value;
if(i >= 0 && i < owner.GetImage().GetCount())
return AsString(owner.GetImage()[i]);
}
return Null;
}
VectorCtrl& owner;
};
private:
VectorDesHost& host;
// String cfgname;
// String filename;
bool single;
Splitter splitter;
ArrayCtrl image_list;
enum { IC_IDENT, IC_WIDTH, IC_HEIGHT, IC_IMAGE, IC_COUNT };
Splitter vsplitter;
ArrayCtrl object_list;
Splitter asplitter;
StaticRect arg_pane;
VScrollBar arg_scroll;
VectorCtrl editor;
ConvertObject cv_obj_list;
Array<VectorImage> images;
EditField list_ident;
EditIntSpin list_width;
EditIntSpin list_height;
ToolBar toolbar;
TimeCallback tc_object_cursor;
};
RichObjectType *RichObjectTypeVectorImage();
bool RunVectorImageEditor(VectorImage& image);
#endif

View file

@ -1,604 +0,0 @@
IMAGE_BEGIN(ide_icon)
IMAGE_SCAN("Æ\1\0\0\0Â\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0Ä\1\0\0\0")
IMAGE_SCAN("Ä\1\0\0\0Æ\1\0\0\0")
IMAGE_SCAN("Ã\1\0\0\0Ã\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Ã\1\0\0\0\0\377\0\1\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ã\1\0\0\0„\0\377\0\1\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ã\1\0\0\0†\0\377\0\1\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("Ã\1\0\0\0\0\377\0\1\0\0\0\0\377\0\1\0\0\0\0\377\0\1\0\0\0")
IMAGE_SCAN("Â\1\0\0\0\0\377\0\0\0\0\0\377\0\0\0\0\0\377\0\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0\0\377\0ƒ\0\0\0\0\377\0ƒ\0\0\0\0\377\0\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ž\0\377\0\1\0\0\0")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(ide_icon, "\2\20\0\0\0\20\0\0\0\377\377\377\377\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(line_object)
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("Î\1\0\0\0")
IMAGE_SCAN("Í\1\0\0\0")
IMAGE_SCAN("Í\1\0\0\0")
IMAGE_SCAN("Ì\1\0\0\0")
IMAGE_SCAN("Ì\1\0\0\0")
IMAGE_SCAN("Ë\1\0\0\0")
IMAGE_SCAN("Ë\1\0\0\0")
IMAGE_SCAN("Ê\1\0\0\0")
IMAGE_SCAN("Ê\1\0\0\0")
IMAGE_SCAN("É\1\0\0\0")
IMAGE_SCAN("É\1\0\0\0")
IMAGE_PACKED(line_object, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(rect_object)
IMAGE_SCAN("")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(rect_object, "\2\20\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0")
IMAGE_BEGIN(rounded_rect_object)
IMAGE_SCAN("")
IMAGE_SCAN("Ê\0\0\0")
IMAGE_SCAN("Á‚\0\0\0Ê\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("Á‚\0\0\0Ê\0\0\0")
IMAGE_SCAN("Ê\0\0\0")
IMAGE_PACKED(rounded_rect_object, "\2\20\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0")
IMAGE_BEGIN(ellipse_object)
IMAGE_SCAN("")
IMAGE_SCAN("ņ\0\0\0")
IMAGE_SCAN("Â\0\0\0Æ\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Ê\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Ê\1\0\0\0")
IMAGE_SCAN("Â\0\0\0Æ\0\0\0")
IMAGE_SCAN("ņ\0\0\0")
IMAGE_PACKED(ellipse_object, "\2\20\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0")
IMAGE_BEGIN(arc_object)
IMAGE_SCAN("")
IMAGE_SCAN("ņ\0\0\0")
IMAGE_SCAN("Â\0\0\0Æ\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Ê\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ì\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Æ\1\0\0\0Á\1\0\0\0Á\1\0\0\0Á\1\0\0\0Á\1\0\0\0")
IMAGE_SCAN("\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Å\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Ä\1\0\0\0")
IMAGE_SCAN("Â\0\0\0")
IMAGE_SCAN("Ń\0\0\0")
IMAGE_PACKED(arc_object, "\2\20\0\0\0\20\0\0\0\0\0\0\0\1\0\0\0\0\0\0\0")
IMAGE_BEGIN(text_object)
IMAGE_SCAN("")
IMAGE_SCAN("\0\0\0Á\0\0\0")
IMAGE_SCAN("Â\1\0\0\0È\0\0\0")
IMAGE_SCAN("Â\1\0\0\0È\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Æ\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Æ\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Æ\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Æ\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Æ\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Å\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Å\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Å\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Å\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Å\0\0\0")
IMAGE_SCAN("\0\0\0Á\0\0\0")
IMAGE_PACKED(text_object, "\2\20\0\0\0\20\0\0\0\1\0\0\0\377\377\377\377\0\0\0\0")
IMAGE_BEGIN(text_rect_object)
IMAGE_SCAN("")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ć\0\0\0Ä\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ć\0\0\0Ä\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Æ\0\0\0Æ\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Æ\0\0\0Æ\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\0\0\0Ç\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\0\0\0Ç\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\0\0\0Ç\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\0\0\0È\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\0\0\0È\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\0\0\0È\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(text_rect_object, "\2\20\0\0\0\20\0\0\0\1\0\0\0\377\377\377\377\0\0\0\0")
IMAGE_BEGIN(edit)
IMAGE_SCAN("")
IMAGE_SCAN("Å\1\0\0\0")
IMAGE_SCAN("Å‚\0\0\0")
IMAGE_SCAN("Å\3\0\0\0\377\377\377\0\0\0")
IMAGE_SCAN("Å\1\0\0\0\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0„\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0…\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0…\377\377\377\0\0\0")
IMAGE_SCAN("Å\1\0\0\0ƒ\377\377\377\0\0\0")
IMAGE_SCAN("Å\2\0\0\0\377\377\377ƒ\0\0\0")
IMAGE_SCAN("Å‚\0\0\0Â\0\0\0")
IMAGE_SCAN("Å\1\0\0\0Ã\0\0\0")
IMAGE_SCAN("Ê‚\0\0\0")
IMAGE_SCAN("Ê‚\0\0\0")
IMAGE_PACKED(edit, "\2\20\0\0\0\20\0\0\0\1\0\0\0\377\377\377\377\0\0\0\0")
IMAGE_BEGIN(move_to_back)
IMAGE_SCAN("")
IMAGE_SCAN("È‚\0\0\0Â\0\0\0")
IMAGE_SCAN("È‚\0\0\0Â\0\0\0")
IMAGE_SCAN("Ì‚\0\0\0")
IMAGE_SCAN("Å\1\377\0\0Â\0\0\0Â\0\0\0")
IMAGE_SCAN("Ä‚\377\0\0Â\0\0\0Â\0\0\0")
IMAGE_SCAN("Ã\377\0\0Æ\0\0\0")
IMAGE_SCAN("Š\377\0\0\0\0\0")
IMAGE_SCAN("Š\377\0\0\0\0\0")
IMAGE_SCAN("Ã\377\0\0Æ\0\0\0")
IMAGE_SCAN("Ä‚\377\0\0Â\0\0\0Â\0\0\0")
IMAGE_SCAN("Å\1\377\0\0Â\0\0\0Â\0\0\0")
IMAGE_SCAN("Ì‚\0\0\0")
IMAGE_SCAN("È‚\0\0\0Â\0\0\0")
IMAGE_SCAN("È‚\0\0\0Â\0\0\0")
IMAGE_PACKED(move_to_back, "\2\20\0\0\0\20\0\0\0\1\0\0\0\377\377\377\377\0\0\0\0")
IMAGE_BEGIN(move_to_front)
IMAGE_SCAN("")
IMAGE_SCAN("‚\0\0\0Â\0\0\0")
IMAGE_SCAN("‚\0\0\0Â\0\0\0")
IMAGE_SCAN("‚\0\0\0")
IMAGE_SCAN("‚\0\0\0Â\0\0\0Â\1\377\0\0")
IMAGE_SCAN("‚\0\0\0Â\0\0\0Â\377\0\0")
IMAGE_SCAN("‚\0\0\0ƃ\377\0\0")
IMAGE_SCAN("‚\0\0\0Š\377\0\0")
IMAGE_SCAN("‚\0\0\0Š\377\0\0")
IMAGE_SCAN("‚\0\0\0ƃ\377\0\0")
IMAGE_SCAN("‚\0\0\0Â\0\0\0Â\377\0\0")
IMAGE_SCAN("‚\0\0\0Â\0\0\0Â\1\377\0\0")
IMAGE_SCAN("‚\0\0\0")
IMAGE_SCAN("‚\0\0\0Â\0\0\0")
IMAGE_SCAN("‚\0\0\0Â\0\0\0")
IMAGE_PACKED(move_to_front, "\2\20\0\0\0\20\0\0\0\1\0\0\0\377\377\377\377\0\0\0\0")
IMAGE_BEGIN(edit_setup)
IMAGE_SCAN("Áƒ\377\377\377")
IMAGE_SCAN("\1\377\377\377ƒ\0\0\377\1\0\0\0Â\1\0\0\0Á\1\0\0\0Â\0\0\0")
IMAGE_SCAN("\1\377\377\377ƒ\0\0\377\1\0\0\0ƒ\0\0\0Á\1\0\0\0Á\1\0\0\0")
IMAGE_SCAN("\1\377\377\377ƒ\0\0\377\1\0\0\0Â\1\0\0\0Á\1\0\0\0Á\1\0\0\0Á\1\0\0\0")
IMAGE_SCAN("Áƒ\0\0\0")
IMAGE_SCAN("Áƒ\377\377\377")
IMAGE_SCAN("\1\377\377\377ƒ\377\0\0\1\0\0\0Â\1\0\0\0Á\1\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("\1\377\377\377ƒ\377\0\0\1\0\0\0Â\1\0\0\0Á\1\0\0\0Á\1\0\0\0Á\1\0\0\0")
IMAGE_SCAN("\1\377\377\377ƒ\377\0\0\1\0\0\0ƒ\0\0\0Á\0\0\0")
IMAGE_SCAN("Áƒ\0\0\0")
IMAGE_SCAN("Áƒ\377\377\377")
IMAGE_SCAN("\1\377\377\377ƒ\0Ê\0\1\0\0\0Â\1\0\0\0Á\0\0\0Á\0\0\0")
IMAGE_SCAN("\1\377\377\377ƒ\0Ê\0\1\0\0\0Â\1\0\0\0Ä\1\0\0\0")
IMAGE_SCAN("\1\377\377\377ƒ\0Ê\0\1\0\0\0ƒ\0\0\0Á\0\0\0Á\1\0\0\0")
IMAGE_SCAN("Áƒ\0\0\0")
IMAGE_PACKED(edit_setup, "\2\20\0\0\0\20\0\0\0\1\0\0\0\377\377\377\377\0\0\0\0")
IMAGE_BEGIN(AlignLeft)
IMAGE_SCAN("\1\0\0\0")
IMAGE_SCAN("\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Á‡\0\0\0Ã\1\377\0\0")
IMAGE_SCAN("\1\0\0\0Á\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0Â\377\0\0")
IMAGE_SCAN("\1\0\0\0Á\7\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\0\0\0Á…\377\0\0")
IMAGE_SCAN("\1\0\0\0Á\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0Â\377\0\0")
IMAGE_SCAN("\1\0\0\0Á‡\0\0\0Ã\1\377\0\0")
IMAGE_SCAN("\1\0\0\0")
IMAGE_SCAN("\1\0\0\0")
IMAGE_SCAN("\1\0\0\0ƒ\0\0\0Ä\1\377\0\0")
IMAGE_SCAN("\1\0\0\0Á\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Â\377\0\0")
IMAGE_SCAN("\1\0\0\0Á\5\0\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0Á‡\377\0\0")
IMAGE_SCAN("\1\0\0\0Á\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Â\377\0\0")
IMAGE_SCAN("\1\0\0\0ƒ\0\0\0Ä\1\377\0\0")
IMAGE_SCAN("\1\0\0\0")
IMAGE_PACKED(AlignLeft, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(AlignRight)
IMAGE_SCAN("Î\1\0\0\0")
IMAGE_SCAN("Î\1\0\0\0")
IMAGE_SCAN("Â\1\377\0\0Ç\0\0\0Á\1\0\0\0")
IMAGE_SCAN("‚\377\0\0Â\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0Á\1\0\0\0")
IMAGE_SCAN("…\377\0\0Á\7\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\0\0\0Á\1\0\0\0")
IMAGE_SCAN("‚\377\0\0Â\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0Á\1\0\0\0")
IMAGE_SCAN("Â\1\377\0\0Ç\0\0\0Á\1\0\0\0")
IMAGE_SCAN("Î\1\0\0\0")
IMAGE_SCAN("Î\1\0\0\0")
IMAGE_SCAN("Ä\1\377\0\0ă\0\0\0Â\1\0\0\0")
IMAGE_SCAN("Ä‚\377\0\0Â\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Á\1\0\0\0")
IMAGE_SCAN("‡\377\0\0Á\5\0\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0Á\1\0\0\0")
IMAGE_SCAN("Ä‚\377\0\0Â\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Á\1\0\0\0")
IMAGE_SCAN("Ä\1\377\0\0ă\0\0\0Â\1\0\0\0")
IMAGE_SCAN("Î\1\0\0\0")
IMAGE_PACKED(AlignRight, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(AlignTop)
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("ƒ\0\0\0‡\0\0\0")
IMAGE_SCAN("Á\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Á\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("Á\5\0\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0Á\7\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Á\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Á\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("ƒ\0\0\0‡\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("Ã\1\377\0\0Æ\1\377\0\0")
IMAGE_SCAN("ƒ\377\0\0ă\377\0\0")
IMAGE_SCAN("Á…\377\0\0Â…\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Æ\1\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Æ\1\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Æ\1\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Æ\1\377\0\0")
IMAGE_PACKED(AlignTop, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(AlignBottom)
IMAGE_SCAN("Ã\1\377\0\0Ç\1\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Ç\1\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Ç\1\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Ç\1\377\0\0")
IMAGE_SCAN("Á…\377\0\0Ã…\377\0\0")
IMAGE_SCAN("ƒ\377\0\0Ń\377\0\0")
IMAGE_SCAN("Ã\1\377\0\0Ç\1\377\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("ƒ\0\0\0Ç\0\0\0")
IMAGE_SCAN("Á\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Â\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("Á\5\0\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0Â\7\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Á\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Â\7\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("ƒ\0\0\0Ç\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(AlignBottom, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(VertCenter)
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("\1\0\0\0Ç\1\377\0\0Æ\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å…\377\0\0Ä\1\0\0\0")
IMAGE_SCAN("\1\0\0\0ƃ\377\0\0Å\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ç\1\377\0\0Æ\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Š\0\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Â\12\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\0\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Â\12\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Š\0\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ç\1\377\0\0Æ\1\0\0\0")
IMAGE_SCAN("\1\0\0\0ƃ\377\0\0Å\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å…\377\0\0Ä\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ç\1\377\0\0Æ\1\0\0\0")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(VertCenter, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(HorzCenter)
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å„\0\0\0Å\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\4\0\0\0\377\377\377ÀÀÀ\0\0\0Å\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\4\0\0\0ÀÀÀ\377\377\377\0\0\0Å\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Â\1\377\0\0Â\4\0\0\0\377\377\377ÀÀÀ\0\0\0Â\1\377\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Â\377\0\0Á\4\0\0\0ÀÀÀ\377\377\377\0\0\0Á\377\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0…\377\0\0\4\0\0\0\377\377\377ÀÀÀ\0\0\0…\377\0\0\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Â\377\0\0Á\4\0\0\0ÀÀÀ\377\377\377\0\0\0Á\377\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Â\1\377\0\0Â\4\0\0\0\377\377\377ÀÀÀ\0\0\0Â\1\377\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\4\0\0\0ÀÀÀ\377\377\377\0\0\0Å\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Å„\0\0\0Å\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Î\1\0\0\0")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(HorzCenter, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(SameWidth)
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("\17\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("\17\0\0\0ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("\2\0\0\0\377\377\377\377\0\0\7ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\0\0\2\377\377\377\0\0\0")
IMAGE_SCAN("\1\0\0\0<>\377\0\0\1\0\0\0")
IMAGE_SCAN("\2\0\0\0\377\377\377\377\0\0\7ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\0\0\2\377\377\377\0\0\0")
IMAGE_SCAN("\17\0\0\0ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("\17\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(SameWidth, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(SameHeight)
IMAGE_SCAN("")
IMAGE_SCAN("É\0\0\0")
IMAGE_SCAN("Ã\11\0\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("Ã\3\0\0\0ÀÀÀ\377\377\377ƒ\377\0\0\3\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Ã\2\0\0\0\377\377\377…\377\0\0\2\377\377\377\0\0\0")
IMAGE_SCAN("Ã\11\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Ã\11\0\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("Ã\11\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Ã\11\0\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("Ã\11\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Ã\2\0\0\0\377\377\377…\377\0\0\2\377\377\377\0\0\0")
IMAGE_SCAN("Ã\3\0\0\0ÀÀÀ\377\377\377ƒ\377\0\0\3\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Ã\11\0\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("É\0\0\0")
IMAGE_PACKED(SameHeight, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(SameSize)
IMAGE_SCAN("")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_SCAN("\17\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("\6\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀƒ\377\0\0\6ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("\5\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ…\377\0\0\5ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("\17\0\0\0ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("\2\0\0\0\377\377\377\377\0\0\7ÀÀÀ\377\377\377ÀÀÀ\377\0\0ÀÀÀ\377\377\377ÀÀÀ\377\0\0\2\377\377\377\0\0\0")
IMAGE_SCAN("\1\0\0\0<>\377\0\0\1\0\0\0")
IMAGE_SCAN("\2\0\0\0\377\377\377\377\0\0\7ÀÀÀ\377\377\377ÀÀÀ\377\0\0ÀÀÀ\377\377\377ÀÀÀ\377\0\0\2\377\377\377\0\0\0")
IMAGE_SCAN("\17\0\0\0ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\377\377\377\377\0\0\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("\5\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ…\377\0\0\5ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("\6\0\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀƒ\377\0\0\6ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("\17\0\0\0\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\0\0ÀÀÀ\377\377\377ÀÀÀ\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("<22>\0\0\0")
IMAGE_PACKED(SameSize, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(Grid)
IMAGE_SCAN("")
IMAGE_SCAN("\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0")
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0Â\1\0\0\0")
IMAGE_PACKED(Grid, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(AlignHCenter)
IMAGE_SCAN("Ç\1\0\0\0")
IMAGE_SCAN("Ç\1\0\0\0")
IMAGE_SCAN("Á\1\377\0\0‡\0\0\0Â\1\377\0\0")
IMAGE_SCAN("Á‚\377\0\0Á\7\0\0\0\377\377\377ÀÀÀ\0\0\0ÀÀÀ\377\377\377\0\0\0Á\377\0\0")
IMAGE_SCAN("„\377\0\0\7\0\0\0ÀÀÀ\377\377\377\0\0\0\377\377\377ÀÀÀ\0\0\0„\377\0\0")
IMAGE_SCAN("Á‚\377\0\0Á\7\0\0\0\377\377\377ÀÀÀ\0\0\0ÀÀÀ\377\377\377\0\0\0Á\377\0\0")
IMAGE_SCAN("Á\1\377\0\0‡\0\0\0Â\1\377\0\0")
IMAGE_SCAN("Ç\1\0\0\0")
IMAGE_SCAN("Ç\1\0\0\0")
IMAGE_SCAN("Â\1\377\0\0Ã\0\0\0Ã\1\377\0\0")
IMAGE_SCAN("‚\377\0\0Á\5\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0Á\377\0\0")
IMAGE_SCAN("…\377\0\0\5\0\0\0ÀÀÀ\0\0\0ÀÀÀ\0\0\0…\377\0\0")
IMAGE_SCAN("‚\377\0\0Á\5\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0Á\377\0\0")
IMAGE_SCAN("Â\1\377\0\0Ã\0\0\0Ã\1\377\0\0")
IMAGE_SCAN("Ç\1\0\0\0")
IMAGE_PACKED(AlignHCenter, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(AlignVCenter)
IMAGE_SCAN("Ä\1\377\0\0Æ\1\377\0\0")
IMAGE_SCAN("Ä\1\377\0\0Ä…\377\0\0")
IMAGE_SCAN("…\377\0\0Ã\377\0\0")
IMAGE_SCAN("Ã\377\0\0Å\1\377\0\0")
IMAGE_SCAN("Ä\1\377\0\0Ä…\0\0\0")
IMAGE_SCAN("Ã\0\0\0Ã\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("Â\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Â\5\0\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Á<>\0\0\0")
IMAGE_SCAN("Â\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0Â\5\0\0\0ÀÀÀ\377\377\377ÀÀÀ\0\0\0")
IMAGE_SCAN("Ã\0\0\0Ã\5\0\0\0\377\377\377ÀÀÀ\377\377\377\0\0\0")
IMAGE_SCAN("Ä\1\377\0\0Ä…\0\0\0")
IMAGE_SCAN("Ã\377\0\0Å\1\377\0\0")
IMAGE_SCAN("…\377\0\0Ã\377\0\0")
IMAGE_SCAN("Ä\1\377\0\0Ä…\377\0\0")
IMAGE_SCAN("Ä\1\377\0\0Æ\1\377\0\0")
IMAGE_PACKED(AlignVCenter, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(SizeAll)
IMAGE_SCAN("†\377\377\377Æ\377\377\377")
IMAGE_SCAN("\1\377\377\377ƒ\0\0\0\1\377\377\377Å\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("\1\377\377\377\0\0\0\1\377\377\377Ç\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377Å\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\377\377\377Á\3\377\377\377\0\0\0\377\377\377Ã\3\377\377\377\0\0\0\377\377\377Á\377\377\377")
IMAGE_SCAN("\1\377\377\377Ã\3\377\377\377\0\0\0\377\377\377Á\3\377\377\377\0\0\0\377\377\377Ã\1\377\377\377")
IMAGE_SCAN("Å\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Æ\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Å\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\1\377\377\377Ã\3\377\377\377\0\0\0\377\377\377Á\3\377\377\377\0\0\0\377\377\377Ã\1\377\377\377")
IMAGE_SCAN("\377\377\377Á\3\377\377\377\0\0\0\377\377\377Ã\3\377\377\377\0\0\0\377\377\377Á\377\377\377")
IMAGE_SCAN("\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377Å\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\1\377\377\377\0\0\0\1\377\377\377Ç\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("\1\377\377\377ƒ\0\0\0\1\377\377\377Å\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("†\377\377\377Æ\377\377\377")
IMAGE_PACKED(SizeAll, "\2\20\0\0\0\20\0\0\0\7\0\0\0\7\0\0\0\0\0\0\0")
IMAGE_BEGIN(track_point_tmp)
IMAGE_SCAN("†\377\377\377Æ\377\377\377")
IMAGE_SCAN("\1\377\377\377ƒ\0\0\0\1\377\377\377Å\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("\1\377\377\377\0\0\0\1\377\377\377Â\1\377\377\377Á\1\377\377\377Â\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("\4\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\3\0\0\0\377\377\377\0\0\0\377\377\377\4\0\0\0\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\377\377\377Á\3\377\377\377\0\0\0\377\377\377Ã\3\377\377\377\0\0\0\377\377\377Á\377\377\377")
IMAGE_SCAN("\1\377\377\377Â\377\377\377\2\0\0\0\377\377\377Á\2\377\377\377\0\0\0\377\377\377Â\1\377\377\377")
IMAGE_SCAN("Â\2\377\377\377\0\0\0Á\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377Á\2\0\0\0\377\377\377")
IMAGE_SCAN("Ã\1\377\377\377Â\3\377\377\377\0\0\0\377\377\377Â\1\377\377\377")
IMAGE_SCAN("Â\2\377\377\377\0\0\0Á\5\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377Á\2\0\0\0\377\377\377")
IMAGE_SCAN("\1\377\377\377Â\377\377\377\2\0\0\0\377\377\377Á\2\377\377\377\0\0\0\377\377\377Â\1\377\377\377")
IMAGE_SCAN("\377\377\377Á\3\377\377\377\0\0\0\377\377\377Ã\3\377\377\377\0\0\0\377\377\377Á\377\377\377")
IMAGE_SCAN("\4\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\3\0\0\0\377\377\377\0\0\0\377\377\377\4\0\0\0\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\1\377\377\377\0\0\0\1\377\377\377Â\1\377\377\377Á\1\377\377\377Â\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("\1\377\377\377ƒ\0\0\0\1\377\377\377Å\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("†\377\377\377Æ\377\377\377")
IMAGE_PACKED(track_point_tmp, "\2\20\0\0\0\20\0\0\0\7\0\0\0\7\0\0\0\0\0\0\0")
IMAGE_BEGIN(track_rect)
IMAGE_SCAN("É\1\377\377\377")
IMAGE_SCAN("È\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Ç\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("Æ\1\377\377\377…\0\0\0\1\377\377\377")
IMAGE_SCAN("Ç‚\377\377\377\1\0\0\0\377\377\377")
IMAGE_SCAN("É\1\377\377\377")
IMAGE_SCAN("Ã\1\377\377\377Ä\3\377\377\377\0\0\0\377\377\377Ä\1\377\377\377")
IMAGE_SCAN("Â\3\377\377\377\0\0\0\377\377\377Ä\1\377\377\377Ä\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Á\1\377\377\377\0\0\0\1\377\377\377Á\1\377\377\377Á\3\377\377\377\0\0\0\377\377\377Á\1\377\377\377Á\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("\1\377\377\377„\0\0\0\11\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377„\0\0\0\1\377\377\377")
IMAGE_SCAN("Á\1\377\377\377\0\0\0\1\377\377\377Á\1\377\377\377Á\3\377\377\377\0\0\0\377\377\377Á\1\377\377\377Á\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("Â\3\377\377\377\0\0\0\377\377\377Ä\1\377\377\377Ä\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Ã\1\377\377\377Ä\3\377\377\377\0\0\0\377\377\377Ä\1\377\377\377")
IMAGE_SCAN("É\1\377\377\377")
IMAGE_SCAN("Ç‚\377\377\377\1\0\0\0\377\377\377")
IMAGE_SCAN("Æ\1\377\377\377…\0\0\0\1\377\377\377")
IMAGE_SCAN("Ç\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("È\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("É\1\377\377\377")
IMAGE_PACKED(track_rect, "\2\23\0\0\0\23\0\0\0\10\0\0\0\10\0\0\0\0\0\0\0")
IMAGE_BEGIN(track_point)
IMAGE_SCAN("É\1\377\377\377")
IMAGE_SCAN("È\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Ç\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("Æ\1\377\377\377…\0\0\0\1\377\377\377")
IMAGE_SCAN("Ç‚\377\377\377\1\0\0\0\377\377\377")
IMAGE_SCAN("Ç\1\377\377\377Á\1\377\377\377Á\1\377\377\377")
IMAGE_SCAN("Ã\1\377\377\377Â\7\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377Â\1\377\377\377")
IMAGE_SCAN("Â\2\377\377\377\0\0\0\377\377\377\1\0\0\0Â\1\377\377\377Â\1\0\0\0\377\377\377\2\0\0\0\377\377\377")
IMAGE_SCAN("Á\1\377\377\377\0\0\0\1\377\377\377Á\1\377\377\377Â\1\0\0\0Â\1\377\377\377Á\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("\1\377\377\377„\0\0\0\11\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377„\0\0\0\1\377\377\377")
IMAGE_SCAN("Á\1\377\377\377\0\0\0\1\377\377\377Á\1\377\377\377Â\1\0\0\0Â\1\377\377\377Á\1\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("Â\2\377\377\377\0\0\0\377\377\377\1\0\0\0Â\1\377\377\377Â\1\0\0\0\377\377\377\2\0\0\0\377\377\377")
IMAGE_SCAN("Ã\1\377\377\377Â\7\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377\0\0\0\377\377\377Â\1\377\377\377")
IMAGE_SCAN("Ç\1\377\377\377Á\1\377\377\377Á\1\377\377\377")
IMAGE_SCAN("Ç‚\377\377\377\1\0\0\0\377\377\377")
IMAGE_SCAN("Æ\1\377\377\377…\0\0\0\1\377\377\377")
IMAGE_SCAN("Ç\1\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("È\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("É\1\377\377\377")
IMAGE_PACKED(track_point, "\2\23\0\0\0\23\0\0\0\7\0\0\0\7\0\0\0\0\0\0\0")
IMAGE_BEGIN(view_zoom_in)
IMAGE_SCAN("")
IMAGE_SCAN("Ń\377\377\377")
IMAGE_SCAN("Â\377\377\377ƒ\0\0\0\377\377\377")
IMAGE_SCAN("Â\1\377\377\377\0\0\0Ã\3\0\0\0\377\377\377\0\0\0")
IMAGE_SCAN("Â\2\377\377\377\0\0\0Â\1\0\0\0Â\2\377\377\377\0\0\0")
IMAGE_SCAN("Á\2\377\377\377\0\0\0Ã\1\0\0\0Ã\2\377\377\377\0\0\0")
IMAGE_SCAN("Á\2\377\377\377\0\0\0Á…\0\0\0Á\2\377\377\377\0\0\0")
IMAGE_SCAN("Á\2\377\377\377\0\0\0Ã\1\0\0\0Ã\2\377\377\377\0\0\0")
IMAGE_SCAN("Â\2\377\377\377\0\0\0Â\1\0\0\0Â\2\377\377\377\0\0\0")
IMAGE_SCAN("ƒ\377\377\377Ã\377\377\377\1\0\0\0")
IMAGE_SCAN("Â\0\0\0ƒ\377\377\377„\0\0\0")
IMAGE_SCAN("Ń\0\0\0ƒ\0\0\0")
IMAGE_SCAN("Ë‚\0\0\0")
IMAGE_PACKED(view_zoom_in, "\2\16\0\0\0\16\0\0\0\6\0\0\0\6\0\0\0\0\0\0\0")
IMAGE_BEGIN(view_zoom_out)
IMAGE_SCAN("")
IMAGE_SCAN("Ń\377\377\377")
IMAGE_SCAN("Â\377\377\377ƒ\0\0\0\377\377\377")
IMAGE_SCAN("Â\1\377\377\377\0\0\0Ã\3\0\0\0\377\377\377\0\0\0")
IMAGE_SCAN("Â\2\377\377\377\0\0\0Å\2\377\377\377\0\0\0")
IMAGE_SCAN("Á\2\377\377\377\0\0\0Ç\2\377\377\377\0\0\0")
IMAGE_SCAN("Á\2\377\377\377\0\0\0Á…\0\0\0Á\2\377\377\377\0\0\0")
IMAGE_SCAN("Á\2\377\377\377\0\0\0Ç\2\377\377\377\0\0\0")
IMAGE_SCAN("Â\2\377\377\377\0\0\0Å\2\377\377\377\0\0\0")
IMAGE_SCAN("ƒ\377\377\377Ã\377\377\377\1\0\0\0")
IMAGE_SCAN("Â\0\0\0ƒ\377\377\377„\0\0\0")
IMAGE_SCAN("Ń\0\0\0ƒ\0\0\0")
IMAGE_SCAN("Ë‚\0\0\0")
IMAGE_PACKED(view_zoom_out, "\2\16\0\0\0\16\0\0\0\6\0\0\0\6\0\0\0\0\0\0\0")
IMAGE_BEGIN(view_zoom_area)
IMAGE_SCAN("Š\0\0\0")
IMAGE_SCAN("\1\0\0\0È\1\0\0\0")
IMAGE_SCAN("\1\0\0\0È\1\0\0\0")
IMAGE_SCAN("\1\0\0\0È\1\0\0\0")
IMAGE_SCAN("\1\0\0\0")
IMAGE_SCAN("\1\0\0\0ǃ\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\0\0\0Ã\0\0\0")
IMAGE_SCAN("\1\0\0\0Å\1\0\0\0Â\1\0\0\0Â\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\1\0\0\0Ã\1\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("„\0\0\0Á\1\0\0\0Á…\0\0\0Á\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0Ã\1\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("Æ\1\0\0\0Â\1\0\0\0Â\1\0\0\0")
IMAGE_SCAN("Ƃ\0\0\0Ã\0\0\0")
IMAGE_SCAN("ȃ\0\0\0Á\0\0\0")
IMAGE_PACKED(view_zoom_area, "\2\16\0\0\0\16\0\0\0\10\0\0\0\10\0\0\0\0\0\0\0")
IMAGE_BEGIN(view_zoom_full)
IMAGE_SCAN("Æ\1\377\0\0")
IMAGE_SCAN("Ń\377\0\0")
IMAGE_SCAN("Ä…\377\0\0")
IMAGE_SCAN("Æ\1\377\0\0")
IMAGE_SCAN("Â\1\377\0\0Ã\1\377\0\0Ã\1\377\0\0")
IMAGE_SCAN("Á‚\377\0\0Ç\377\0\0")
IMAGE_SCAN("…\377\0\0Ã…\377\0\0")
IMAGE_SCAN("Á‚\377\0\0Ç\377\0\0")
IMAGE_SCAN("Â\1\377\0\0Ã\1\377\0\0Ã\1\377\0\0")
IMAGE_SCAN("Æ\1\377\0\0")
IMAGE_SCAN("Ä…\377\0\0")
IMAGE_SCAN("Ń\377\0\0")
IMAGE_SCAN("Æ\1\377\0\0")
IMAGE_PACKED(view_zoom_full, "\2\15\0\0\0\15\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(view_pan)
IMAGE_SCAN("È‚\377\377\377")
IMAGE_SCAN("Ń\377\377\377\0\0\0\1\377\377\377")
IMAGE_SCAN("Ä\1\377\377\377ƒ\0\0\0\377\377\377\1\0\0\0\377\377\377")
IMAGE_SCAN("Ã\2\377\377\377\0\0\0\377\377\377\1\0\0\0\377\377\377ƒ\0\0\0\1\377\377\377")
IMAGE_SCAN("Ã\2\377\377\377\0\0\0\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\2\0\0\0\377\377\377")
IMAGE_SCAN("‚\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\2\0\0\0\377\377\377")
IMAGE_SCAN("Á\1\377\377\377ƒ\0\0\0\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\2\0\0\0\377\377\377")
IMAGE_SCAN("\2\377\377\377\0\0\0\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\2\0\0\0\377\377\377")
IMAGE_SCAN("\2\377\377\377\0\0\0\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\1\0\0\0\377\377\377\2\0\0\0\377\377\377")
IMAGE_SCAN("\2\377\377\377\0\0\0\377\377\377\2\0\0\0\377\377\377Á\1\377\377\377Â\1\377\377\377Á\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\3\377\377\377\0\0\0\377\377\377Á\1\377\377\377Ç\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\3\377\377\377\0\0\0\377\377\377É\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\3\377\377\377\0\0\0\377\377\377É\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("\3\377\377\377\0\0\0\377\377\377É\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Á\3\377\377\377\0\0\0\377\377\377Ç\3\377\377\377\0\0\0\377\377\377")
IMAGE_SCAN("Â\3\377\377\377\0\0\0\377\377\377Å\3\377\377\377\0\0\0\377\377\377")
IMAGE_PACKED(view_pan, "\2\20\0\0\0\20\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0")
IMAGE_BEGIN(line_insert_cursor)
IMAGE_SCAN("Ã…\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Å\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ã\1\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\1\0\0\0Ä\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\1\0\0\0Ä\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Á‡\0\0\0Á\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\0\0\0Ã\1\0\0\0")
IMAGE_SCAN("\1\0\0\0Ä\3\0\0\0\377\377\377\0\0\0Â\1\0\0\0")
IMAGE_SCAN("Á\1\0\0\0Ã\1\0\0\0\377\377\377\0\0\0")
IMAGE_SCAN("Â\1\0\0\0Â\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Ã\0\0\0„\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0…\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0†\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0‡\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0ˆ\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0‡\377\377\377ƒ\0\0\0")
IMAGE_SCAN("Å\1\0\0\0…\377\377\377\0\0\0")
IMAGE_SCAN("Å\1\0\0\0\377\377\377\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\2\0\0\0\377\377\377ƒ\0\0\0\377\377\377\1\0\0\0")
IMAGE_SCAN("Å‚\0\0\0Â\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Ê\1\0\0\0\377\377\377\1\0\0\0")
IMAGE_SCAN("Ê\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Ë\1\0\0\0\377\377\377\1\0\0\0")
IMAGE_SCAN("˃\0\0\0")
IMAGE_PACKED(line_insert_cursor, "\2\20\0\0\0\30\0\0\0\5\0\0\0\5\0\0\0\0\0\0\0")
IMAGE_BEGIN(line_remove_cursor)
IMAGE_SCAN("")
IMAGE_SCAN("")
IMAGE_SCAN("Á‚\0\0\377Å\0\0\377")
IMAGE_SCAN("‚\0\0\377Ã\0\0\377")
IMAGE_SCAN("Â\0\0\377Á\0\0\377")
IMAGE_SCAN("Ä\3\0\0\377\0\0\0\0\0\377")
IMAGE_SCAN("Â\0\0\377\0\0\0\1\0\0\377")
IMAGE_SCAN("‚\0\0\377Á\4\0\0\0\377\377\377\0\0\0\0\0\377")
IMAGE_SCAN("Á‚\0\0\377Â\1\0\0\0\377\377\377\2\0\0\0\0\0\377")
IMAGE_SCAN("Å\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0„\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0…\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0†\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0‡\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0ˆ\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\1\0\0\0‡\377\377\377ƒ\0\0\0")
IMAGE_SCAN("Å\1\0\0\0…\377\377\377\0\0\0")
IMAGE_SCAN("Å\1\0\0\0\377\377\377\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Å\2\0\0\0\377\377\377ƒ\0\0\0\377\377\377\1\0\0\0")
IMAGE_SCAN("Å‚\0\0\0Â\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Ê\1\0\0\0\377\377\377\1\0\0\0")
IMAGE_SCAN("Ê\1\0\0\0ƒ\377\377\377\1\0\0\0")
IMAGE_SCAN("Ë\1\0\0\0\377\377\377\1\0\0\0")
IMAGE_SCAN("˃\0\0\0")
IMAGE_PACKED(line_remove_cursor, "\2\20\0\0\0\30\0\0\0\5\0\0\0\5\0\0\0\0\0\0\0")

View file

@ -1,28 +0,0 @@
#ifdef LAYOUTFILE
LAYOUT(VectorDesSetupLayout, 180, 144)
ITEM(Option, grid, SetLabel(t_("Grid:")).LeftPosZ(4, 48).TopPosZ(4, 19))
ITEM(EditIntSpin, grid_cx, Min(1).Max(100).NotNull(true).LeftPosZ(54, 50).TopPosZ(4, 19))
ITEM(Label, dv___2, SetLabel(t_("x")).LeftPosZ(110, 12).TopPosZ(2, 19))
ITEM(EditIntSpin, grid_cy, Min(1).Max(100).NotNull(true).LeftPosZ(126, 50).TopPosZ(4, 19))
ITEM(Switch, grid_style, SetLabel(t_("lines\npoints")).LeftPosZ(54, 96).TopPosZ(26, 16))
ITEM(Option, grid_above_objects, SetLabel(t_("Grid above objects")).LeftPosZ(54, 122).TopPosZ(44, 15))
ITEM(Option, snap, SetLabel(t_("&Snap:")).LeftPosZ(4, 48).TopPosZ(68, 19))
ITEM(EditIntSpin, snap_cx, Min(1).Max(100).NotNull(true).LeftPosZ(56, 50).TopPosZ(68, 19))
ITEM(Label, dv___8, SetLabel(t_("x")).LeftPosZ(110, 12).TopPosZ(66, 19))
ITEM(EditIntSpin, snap_cy, Min(1).Max(100).NotNull(true).LeftPosZ(126, 50).TopPosZ(68, 19))
ITEM(Option, snap_to_objects, SetLabel(t_("Snap to &objects")).LeftPosZ(54, 96).TopPosZ(90, 19))
ITEM(Button, ok, SetLabel(t_("OK")).RightPosZ(72, 64).BottomPosZ(4, 22))
ITEM(Button, cancel, SetLabel(t_("Cancel")).RightPosZ(4, 64).BottomPosZ(4, 22))
END_LAYOUT
LAYOUT(VectorDesFontLayout, 400, 40)
ITEM(DropList, font, HSizePosZ(0, 58).TopPosZ(0, 19))
ITEM(EditIntSpin, height, RightPosZ(0, 56).TopPosZ(0, 19))
ITEM(Option, bold, SetLabel(t_("&Bold")).LeftPosZ(-2, 49).TopPosZ(24, 15))
ITEM(Option, italic, SetLabel(t_("&Italic")).LeftPosZ(54, 49).TopPosZ(24, 15))
ITEM(Option, underline, SetLabel(t_("&Underline")).LeftPosZ(110, 70).TopPosZ(24, 15))
ITEM(Option, strikeout, SetLabel(t_("&Strikeout")).LeftPosZ(184, 74).TopPosZ(24, 15))
END_LAYOUT
#endif

View file

@ -1,21 +0,0 @@
uses
CtrlLib,
Web,
RichText;
file
VectorDes.h,
VectorDes_init.icpp,
VectorObj.h,
VectorObj.cpp,
VectorDes.cpp,
VectorDes.lay,
VectorRich.cpp,
VectorDes.iml,
test.vec highlight cpp,
Info readonly separator,
Copying;
mainconfig
"" = "GUI";

View file

@ -1,6 +0,0 @@
#include "VectorDes.h"
INITBLOCK {
RegisterStdVectorObjects();
RichObject::Register("VectorImage", RichObjectTypeVectorImage());
}

File diff suppressed because it is too large Load diff

View file

@ -1,493 +0,0 @@
#ifndef _VectorDes_VectorObj_h_
#define _VectorDes_VectorObj_h_
#define IMAGEFILE <VectorDes/VectorDes.iml>
#define IMAGECLASS VecImg
#include <Draw/iml_header.h>
template <class B, class T> struct Newer { static One<B> New() { return new T; } };
template <class T> struct VType { enum { VTYPE = ERROR_V }; };
template <> struct VType<int> { enum { VTYPE = INT_V }; };
template <> struct VType<int64> { enum { VTYPE = INT64_V }; };
template <> struct VType<double> { enum { VTYPE = DOUBLE_V }; };
template <> struct VType<String> { enum { VTYPE = STRING_V }; };
template <> struct VType<WString> { enum { VTYPE = WSTRING_V }; };
template <> struct VType<Date> { enum { VTYPE = DATE_V }; };
template <> struct VType<Time> { enum { VTYPE = TIME_V }; };
//template <> struct VType<Point> { enum { VTYPE = POINT_V }; };
//template <> struct VType<Rect> { enum { VTYPE = RECT_V }; };
template <> struct VType<Color> { enum { VTYPE = COLOR_V }; };
template <> struct VType<Font> { enum { VTYPE = FONT_V }; };
void DrawHotRect(Draw& draw, int x, int y, int cx, int cy, bool hot, Color color);
inline int AlignCoord(int pos, int size, Alignment align)
{
return align == ALIGN_RIGHT ? pos - size : align == ALIGN_CENTER ? pos - (size >> 1) : pos;
}
inline Point AlignPoint(Point pos, Size size, Alignment halign, Alignment valign)
{
return Point(AlignCoord(pos.x, size.cx, halign), AlignCoord(pos.y, size.cy, valign));
}
String FormatVectorFont(Font f);
Font ParseVectorFont(CParser& parser);
struct Scaling
{
Scaling(Size image_size = Size(1, 1), Size pixel_size = Size(1, 1)) : image_size(image_size), pixel_size(pixel_size) {}
Size image_size;
Size pixel_size;
int X(int x) const { return iscale(x, pixel_size.cx, image_size.cx); }
int Y(int y) const { return iscale(y, pixel_size.cy, image_size.cy); }
};
inline Point operator * (Point pt, const Scaling& sc) { return iscale(pt, sc.pixel_size, sc.image_size); }
inline Size operator * (Size sz, const Scaling& sc) { return iscale(sz, sc.pixel_size, sc.image_size); }
extern Rect operator * (Rect rc, const Scaling& sc);
inline Point operator / (Point pt, const Scaling& sc) { return iscale(pt, sc.image_size, sc.pixel_size); }
inline Size operator / (Size sz, const Scaling& sc) { return iscale(sz, sc.image_size, sc.pixel_size); }
extern Rect operator / (Rect rc, const Scaling& sc);
struct ScalingDraw : public Scaling
{
ScalingDraw(Draw *draw = NULL, Scaling scaling = Scaling())
: Scaling(scaling), draw(draw) {}
Draw *draw;
};
void DrawLineRect(Draw& draw, const Rect& rc, int width = 0, Color color = Black());
class VectorObject;
class VectorArg
{
public:
enum {
EDIT_VALUE,
EDIT_DOC,
EDIT_LINE_WIDTH,
EDIT_LINE_STYLE,
EDIT_ALIGN_HORZ,
EDIT_ALIGN_VERT,
EDIT_RECT_STYLE,
EDIT_LINE_CAP,
};
VectorArg(String name, String vm_name, int vtype, Value dflt, int editor = EDIT_VALUE)
: name(name), vm_name(vm_name), vtype(vtype), dflt(dflt), editor(editor) {}
virtual ~VectorArg() {}
virtual Value Get(const VectorObject *obj) const = 0;
virtual void Set(VectorObject *obj, Value v) const = 0;
static One<Ctrl> CreateEditor(int vtype, int editor);
public:
String name;
String vm_name;
int vtype;
Value dflt;
int editor;
};
template <class O, class A>
class VectorArgFor : public VectorArg
{
public:
VectorArgFor(A O::*ref, String name, String vm_name, Value dflt, int editor = EDIT_VALUE)
: VectorArg(name, vm_name, VType<A>::VTYPE, dflt, editor), ref(ref) {}
virtual Value Get(const VectorObject *obj) const { return dynamic_cast<const O *>(obj)->*ref; }
virtual void Set(VectorObject *obj, Value v) const { dynamic_cast<O *>(obj)->*ref = v; }
private:
A O::*ref;
};
template <class O, class A>
VectorArgFor<O, A> *VectorArgDef(A O::*ref, String name, String vm_name, Value dflt = Null, int editor = VectorArg::EDIT_VALUE)
{ return new VectorArgFor<O, A>(ref, name, vm_name, dflt, editor); }
template <class A>
class VectorGeomArg {
public:
VectorGeomArg() {}
virtual ~VectorGeomArg() {}
virtual A Get(const VectorObject *obj, int index) const = 0;
virtual void Set(VectorObject *obj, int index, const A& a) const = 0;
virtual int GetCount(const VectorObject *obj) const = 0;
virtual bool CanSetCount() const { return false; }
virtual void SetCount(VectorObject *obj, int c) const { NEVER(); }
};
template <class O, class A, int N>
class VectorGeomArgFixed : public VectorGeomArg<A>
{
public:
VectorGeomArgFixed(A O::**ref_) { for(int i = 0; i < N; i++) ref[i] = ref_[i]; }
virtual A Get(const VectorObject *obj, int i) const { ASSERT(i >= 0 && i < N); return dynamic_cast<const O *>(obj)->*(ref[i]); }
virtual void Set(VectorObject *obj, int i, const A& a) const { ASSERT(i >= 0 && i < N); dynamic_cast<O *>(obj)->*(ref[i]) = a; }
virtual int GetCount(const VectorObject *obj) const { return N; }
private:
A O::*ref[N];
};
template <class O, class A>
inline VectorGeomArgFixed<O, A, 1> *VectorGeomArgDef(A O::*ref)
{ A O::*args[] = { ref }; return new VectorGeomArgFixed<O, A, 1>(args); }
template <class O, class A>
inline VectorGeomArgFixed<O, A, 2> *VectorGeomArgDef(A O::*ra, A O::*rb)
{ A O::*args[] = { ra, rb }; return new VectorGeomArgFixed<O, A, 2>(args); }
template <class O, class A>
inline VectorGeomArgFixed<O, A, 3> *VectorGeomArgDef(A O::*ra, A O::*rb, A O::*rc)
{ A O::*args[] = { ra, rb, rc }; return new VectorGeomArgFixed<O, A, 3>(args); }
template <class O, class A>
class VectorGeomArgFloat : public VectorGeomArg<A>
{
public:
VectorGeomArgFloat(Vector<A> O::*ref) : ref(ref) {}
virtual A Get(const VectorObject *obj, int i) const { return (dynamic_cast<const O *>(obj)->*ref)[i]; }
virtual void Set(VectorObject *obj, int i, const A& a) const { (dynamic_cast<O *>(obj)->*ref)[i] = a; }
virtual int GetCount(const VectorObject *obj) const { return (dynamic_cast<const O *>(obj)->*ref).GetCount(); }
virtual bool CanSetCount() const { return true; }
virtual void SetCount(VectorObject *obj, int c) const { (dynamic_cast<O *>(obj)->*ref).SetCount(c); }
private:
Vector<A> O::*ref;
};
template <class O, class A>
inline VectorGeomArgFloat<O, A> *VectorGeomArgDef(Vector<A> O::*ref)
{ return new VectorGeomArgFloat<O, A>(ref); }
class VectorInfo
{
public:
VectorInfo(String type, String vm_type, One<VectorObject> (*newfunc)(),
One< VectorGeomArg<Rect> > rect_args, One< VectorGeomArg<Point> > point_args, Array<VectorArg> args);
VectorInfo& Name(int lng, String n) { name.GetAdd(lng) = n; return *this; }
VectorInfo& DefaultName(String n) { default_name = n; return *this; }
VectorInfo& Icon(Image i) { icon = i; return *this; }
One<VectorObject> New() const { return (*newfunc)(); }
int FindArg(String name) const;
int FindVMArg(String vm_name) const { return vm_index.Find(vm_name); }
String GetType() const { return type; }
String GetVMType() const { return vm_type; }
String GetName(int lang) const;
int GetCount() const { return args.GetCount(); }
const VectorArg& operator [] (int i) const { return args[i]; }
const VectorGeomArg<Rect> *RectArgs() const { return ~rects; }
const VectorGeomArg<Point> *PointArgs() const { return ~points; }
public:
String type;
String vm_type;
VectorMap<int, String> name;
String default_name;
One<VectorObject> (*newfunc)();
Image icon;
Index<String> vm_index;
Array<VectorArg> args;
One< VectorGeomArg<Rect> > rects;
One< VectorGeomArg<Point> > points;
};
template <class T>
VectorInfo VectorInfoFor(String type, String vm_type,
One< VectorGeomArg<Rect> > rects, One< VectorGeomArg<Point> > points, Array<VectorArg> args)
{ return VectorInfo(type, vm_type, &Newer<VectorObject, T>::New, rects, points, args); }
class VectorObject
{
public:
VectorObject() {}
virtual ~VectorObject() {}
virtual One<VectorObject> Copy() const;
virtual void Paint(ScalingDraw& draw) const = 0;
virtual void DesignPaint(ScalingDraw& draw) const;
virtual void DragPaint(ScalingDraw& draw) const;
virtual void SelPaint(ScalingDraw& draw, const Index<int>& sel, bool is_hot) const;
virtual Value GetLink(Point pt, Size sz) const;
virtual const VectorInfo& Info() const = 0;
int GetArgCount() const { return Info().GetCount(); }
int GetArgType(int i) const { return Info()[i].vtype; }
Value GetArg(int i) const { return Info()[i].Get(this); }
void SetArg(int i, Value v) { Info()[i].Set(this, v); }
virtual Rect GetBox() const;
enum Consts {
TRACK_MASK = 0x03F,
RECT_MASK = 0x040,
ARG_MASK = 0x080,
INDEX_SHIFT = 8,
TRACK_RECT_LEFT = 0x01,
TRACK_RECT_TOP = 0x02,
TRACK_RECT_RIGHT = 0x04,
TRACK_RECT_BOTTOM = 0x08,
TRACK_RECT_SIDES = 0x0F,
TRACK_RECT = 0x10,
TRACK_POINT = 0x11,
TRACK_MOVE = 0x12,
TRACK_IMAGE_SIZE = 0x13,
TRACK_NEW = 0x14,
TRACK_SELECT = 0x15,
TRACK_SIZE = 0x16,
};
virtual Index<int> Contains(const Scaling& scaling, Rect rc) const;
virtual int Nearest(const Scaling& scaling, Point pt, int& maxdistsquared) const;
virtual Point TrackPoint(int track) const;
virtual void Create(Point from, Point to, dword keyflags);
virtual void Track(int track, Point start, Point end, dword keyflags);
virtual void Align(Alignment halign, Alignment valign, Point anchor);
virtual void EqualSize(Size sz);
virtual Image Cursor(int track, dword keyflags) const;
String ToString() const;
static One<VectorObject> Load(CParser& parser);
virtual String FormatCoords() const;
static VectorMap<String, const VectorInfo *>& RegisteredObjects();
static VectorMap<String, const VectorInfo *>& RegisteredVMIndex();
static void RegisterInfo(const VectorInfo& vi);
};
class VectorImage : Moveable<VectorImage>
{
public:
struct Data : public RefBase {
Data() : size(100, 100) {}
String name;
Size size;
Array<VectorObject> objects;
};
public:
VectorImage();
VectorImage(RefPtr<Data> data) : data(data) {}
VectorImage(const Value& value);
operator Value () const { return RawToValue(*this); }
void Clone();
void Clear() { data = new Data; }
bool IsEmpty() const { return data->objects.IsEmpty(); }
int GetCount() const { return data->objects.GetCount(); }
const VectorObject& operator [] (int i) const { return data->objects[i]; }
VectorObject& operator [] (int i) { return data->objects[i]; }
void Add(One<VectorObject> o) { data->objects.Add(-o); }
void Insert(int pos, One<VectorObject> o) { data->objects.Insert(pos, -o); }
void Remove(int i) { data->objects.Remove(i); }
One<VectorObject> Detach(int i) { return data->objects.Detach(i); }
void Move(int i, int j) { data->objects.Move(i, j); }
void Reserve(int i) { data->objects.Reserve(i); }
void Paint(ScalingDraw& draw) const;
void DesignPaint(ScalingDraw& draw) const;
void DragPaint(ScalingDraw& draw) const;
Size GetSize() const { return data->size; }
void SetSize(Size sz) { data->size = sz; }
String GetName() const { return data->name; }
void SetName(String n) { data->name = n; }
String SaveVec(int index) const;
void LoadVec(CParser& parser);
void SaveVM(Stream& data) const;
void LoadVM(Stream& data);
void SerializeVM(Stream& stream);
VectorMap< int, Index<int> > Contains(const Scaling& scaling, Rect rc) const;
Point Nearest(const Scaling& scaling, Point pt, int maxdistsquared) const;
Point Nearest(const Scaling& scaling, Point pt, int maxdistsquared, const Vector<int>& selection) const;
Point TrackPoint(Point track) const;
// Point FindNearest(Point pt, int maxdistsquared, const VectorMap<int, int>& selection) const;
Value GetLink(Point pt, Size sz) const;
Image Cursor(Point track, dword keyflags) const;
public:
RefPtr<Data> data;
};
struct VectorLineData
{
VectorLineData& SetPoint(Vector<Point> pt) { points = pt; return *this; }
VectorLineData& LineColor(Color c) { line_color = c; return *this; }
VectorLineData& LineWidth(int w) { line_width = w; return *this; }
VectorLineData& BeginCap(int c) { begin_cap = c; return *this; }
VectorLineData& BeginSize(int s) { begin_size = s; return *this; }
VectorLineData& BeginColor(Color c) { begin_color = c; return *this; }
VectorLineData& EndCap(int c) { end_cap = c; return *this; }
VectorLineData& EndSize(int s) { end_size = s; return *this; }
VectorLineData& EndColor(Color c) { end_color = c; return *this; }
VectorLineData& Link(String l) { link = l; return *this; }
void Paint(ScalingDraw& draw) const;
void PaintCap(ScalingDraw& draw, int cap, int size, Color color, Point from, Point to) const;
Point ShrinkCap(ScalingDraw& draw, int cap, int size, Point from, Point to) const;
Vector<Point> points;
Color line_color;
int line_width;
enum { CAP_NONE, CAP_ARROW, CAP_CIRCLE, CAP_END_CIRCLE, CAP_SQUARE, CAP_THIN_ARROW, CAP_COUNT };
int begin_cap;
int begin_size;
Color begin_color;
int end_cap;
int end_size;
Color end_color;
String link;
};
const Display& VectorLineCapDisplay();
class VectorLine : public VectorObject, public VectorLineData
{
public:
virtual void Paint(ScalingDraw& draw) const { VectorLineData::Paint(draw); }
virtual void DragPaint(ScalingDraw& draw) const;
virtual const VectorInfo& Info() const { return ClassInfo(); }
virtual int Nearest(const Scaling& scaling, Point pt, int& maxdistsquared) const;
virtual void Create(Point from, Point to, dword keyflags);
virtual void SelPaint(ScalingDraw& draw, const Index<int>& sel, bool is_hot) const;
virtual Image Cursor(int track, dword keyflags) const;
virtual void Track(int track, Point start, Point end, dword keyflags);
static const VectorInfo& ClassInfo();
static void Register() { RegisterInfo(ClassInfo()); }
enum {
TRACK_LINE_INSERT = 0x20,
TRACK_LINE_REMOVE = 0x21,
};
private:
Size GetOutVector(const Scaling& scaling, int i, int factor) const;
void GetAddRmPoint(const Scaling& scaling, int i, Point& addpt, Point& rmpt) const;
};
struct VectorRectData
{
VectorRectData& SetRect(Rect r) { rect = r; return *this; }
VectorRectData& FillColor(Color c) { fill_color = c; return *this; }
VectorRectData& OutlineColor(Color o) { outline_color = o; return *this; }
VectorRectData& OutlineWidth(int w) { outline_width = w; return *this; }
VectorRectData& Rounding(int r) { rounding = r; return *this; }
VectorRectData& Style(int s) { style = s; return *this; }
VectorRectData& TextColor(Color c) { text_color = c; return *this; }
VectorRectData& SetFont(Font f) { font = f; return *this; }
VectorRectData& Text(WString s) { text = s; return *this; }
VectorRectData& AlignVert(Alignment v) { valign = v; return *this; }
VectorRectData& AlignHorz(Alignment h) { halign = h; return *this; }
VectorRectData& MarginHorz(int m) { hmargin = m; return *this; }
VectorRectData& MarginVert(int m) { vmargin = m; return *this; }
VectorRectData& Link(String l) { link = l; return *this; }
void Paint(ScalingDraw& draw) const;
Vector<Point> GetPoly(ScalingDraw& draw, int line_width) const;
Font GetScaledFont(const ScalingDraw& draw) const;
Rect rect;
Color text_color;
Color fill_color;
Color outline_color;
int outline_width;
int rounding;
enum { STYLE_RECT, STYLE_ROUNDED_RECT, STYLE_ELLIPSE };
int style;
Font font;
WString text;
int halign, valign;
int hmargin, vmargin;
String link;
};
class VectorRect : public VectorObject, public VectorRectData
{
public:
virtual void Paint(ScalingDraw& draw) const { VectorRectData::Paint(draw); }
virtual void DragPaint(ScalingDraw& draw) const;
virtual const VectorInfo& Info() const { return ClassInfo(); }
// virtual int Nearest(Point pt, int& maxdistsquared) const;
static const VectorInfo& ClassInfo();
static void Register() { RegisterInfo(ClassInfo()); }
};
struct VectorArcData
{
VectorArcData& SetRect(Rect r) { rect = r; return *this; }
// VectorArcData& SetColor(Color c) { color = c; return *this; }
VectorArcData& SetPoint(Point p1, Point p2) { from = p1; to = p2; return *this; }
VectorArcData& LineColor(Color o) { line_color = o; return *this; }
VectorArcData& LineWidth(int w) { line_width = w; return *this; }
VectorArcData& Link(String l) { link = l; return *this; }
void Paint(ScalingDraw& draw) const;
Rect rect;
Point from;
Point to;
// Color color;
Color line_color;
int line_width;
String link;
};
class VectorArc : public VectorObject, public VectorArcData
{
public:
virtual void Paint(ScalingDraw& draw) const { VectorArcData::Paint(draw); }
virtual void DesignPaint(ScalingDraw& draw) const;
virtual void DragPaint(ScalingDraw& draw) const;
virtual int Nearest(const Scaling& scaling, Point pt, int& maxdistsquared) const;
virtual const VectorInfo& Info() const { return ClassInfo(); }
static const VectorInfo& ClassInfo();
static void Register() { RegisterInfo(ClassInfo()); }
};
inline void RegisterStdVectorObjects()
{
VectorLine::Register();
VectorRect::Register();
// VectorRectRounded::Register();
// VectorEllipse::Register();
VectorArc::Register();
// VectorText::Register();
// VectorTextRect::Register();
// VectorTextRectJoin::Register();
}
#endif

View file

@ -1 +0,0 @@
#include "VectorDes.h"

View file

@ -1,120 +0,0 @@
#include "VectorDes.h"
#pragma hdrstop
struct RichObjectTypeVectorImageCls : public RichObjectType
{
virtual String GetTypeName(const Value&) const;
virtual String GetCreateName() const;
virtual Size GetPhysicalSize(const Value& data) const;
virtual Size GetPixelSize(const Value& data) const { return Size(0, 0); }
virtual void Paint(const Value& data, Draw& w, Size sz) const;
virtual Value Read(const String& s) const;
virtual String Write(const Value& v) const;
// virtual Value ReadClipboard() const;
// virtual void Menu(Bar& bar, RichObjectExchange& ex) const;
virtual void DefaultAction(RichObject& ex) const;
virtual String GetLink(const Value& data, Point pt, Size sz) const;
struct Data : DeepCopyOption<Data> {
Data() {}
Data(const Value& v) { *this = ValueTo<Data>(v); }
operator Value() const { return RawToValue(*this); }
void Serialize(Stream& stream);
Color background;
VectorImage image;
};
};
RichObjectType *RichObjectTypeVectorImage() { return &Single<RichObjectTypeVectorImageCls>(); }
void RichObjectTypeVectorImageCls::Data::Serialize(Stream& stream)
{
int version = 1;
stream / version % background;
image.SerializeVM(stream);
}
String RichObjectTypeVectorImageCls::GetTypeName(const Value&) const
{
return "VectorImage";
}
String RichObjectTypeVectorImageCls::GetCreateName() const
{
return "Vector drawing";
}
/*
RichObject CreateVectorImageObject(String text, Font font, Color color)
{
RichObjectTypeVectorImageCls::Data data;
data.text = text;
data.font = font;
data.color = color;
RichObject obj(RichObjectTypeVectorImage(), data);
obj.SetYDelta(data.Parse() -> GetDescent());
return obj;
}
*/
String RichObjectTypeVectorImageCls::GetLink(const Value& data, Point pt, Size sz) const
{
if(IsTypeRaw<Data>(data))
return Data(data).image.GetLink(pt, sz);
return Value();
}
Size RichObjectTypeVectorImageCls::GetPhysicalSize(const Value& data) const
{
if(IsTypeRaw<Data>(data))
return Data(data).image.GetSize() * 6;
return Size(0, 0);
}
Value RichObjectTypeVectorImageCls::Read(const String& s) const
{
Data data;
StringStream ss(s);
ss % data;
if(ss.IsError())
return Value();
return RawToValue(data);
}
String RichObjectTypeVectorImageCls::Write(const Value& v) const
{
if(IsTypeRaw<Data>(v)) {
StringStream ss;
Data d(v);
ss % d;
return ss;
}
return Null;
}
void RichObjectTypeVectorImageCls::Paint(const Value& data, Draw& w, Size sz) const
{
w.DrawRect(sz, White);
if(IsTypeRaw<Data>(data)) {
VectorImage form = Data(data).image;
ScalingDraw sdraw(&w, Scaling(form.GetSize(), sz));
form.Paint(sdraw);
}
}
void RichObjectTypeVectorImageCls::DefaultAction(RichObject& ex) const
{
bool RunDlgVectorImage(String& text, Font& font, Color& color);
static Data data;
RichObject obj = ex;
if(IsTypeRaw<Data>(obj.GetData()))
data = Data(obj.GetData());
data.image.Clone();
if(RunVectorImageEditor(data.image)) {
RichObject ro(RichObjectTypeVectorImage(), data);
ex = ro;
}
}

View file

@ -1,9 +0,0 @@
#ifndef _VectorDes_icpp_init_stub
#define _VectorDes_icpp_init_stub
#include "CtrlLib/init"
#include "Web/init"
#include "RichText/init"
#define BLITZ_INDEX__ F77EAE8CE855C5C553562D46B7B18AD0D
#include "VectorDes_init.icpp"
#undef BLITZ_INDEX__
#endif

View file

@ -1,36 +0,0 @@
TITLE("class VectorDes")
COMPRESSED
120,156,133,142,205,107,19,65,24,198,255,149,129,126,160,177,
141,243,181,217,233,238,37,104,60,120,241,96,209,203,178,212,
109,178,41,129,196,64,118,227,69,132,105,165,94,235,49,32,
104,206,57,20,252,0,61,237,36,37,9,173,160,20,12,122,
170,77,2,45,61,212,90,179,137,45,30,178,78,54,165,182,
39,103,96,94,222,119,126,207,243,188,6,152,156,132,51,112,
2,254,231,104,9,59,109,21,179,174,105,184,20,197,84,253,
230,53,132,84,169,69,82,75,84,68,152,66,16,197,49,249,
32,130,176,130,8,69,12,207,81,70,8,131,90,50,107,57,
142,105,100,49,99,186,133,84,93,234,240,12,158,192,170,130,
145,74,25,101,136,168,12,75,57,134,16,67,85,202,41,97,
88,209,82,182,147,52,13,73,19,153,194,8,37,132,198,230,
40,130,68,145,59,32,72,177,42,43,100,136,33,5,51,109,
209,114,108,211,120,188,240,100,234,214,157,217,123,243,192,112,
144,174,61,144,247,190,157,116,243,133,132,237,140,154,112,23,
112,62,210,34,192,152,130,112,22,194,8,8,191,22,204,179,
254,31,99,78,155,134,131,117,48,42,68,143,196,175,192,40,
140,98,69,185,10,140,235,113,8,18,118,33,243,200,78,129,
116,33,159,51,141,136,156,128,115,143,121,215,114,51,201,187,
210,41,52,129,99,19,89,110,200,101,199,129,32,157,47,128,
197,98,38,155,202,60,92,2,201,162,227,230,115,192,136,156,
197,223,206,89,75,182,9,236,84,70,54,78,244,178,73,60,
126,1,210,8,133,108,26,83,8,95,174,4,242,124,221,42,
127,234,28,85,253,234,135,167,226,249,207,230,110,175,254,253,
216,235,123,252,116,184,220,229,124,208,232,181,184,95,219,95,
109,85,151,121,191,217,218,243,251,229,205,215,237,158,88,59,
22,239,131,17,37,33,62,248,216,107,249,53,30,82,253,38,
15,169,183,157,63,146,242,74,34,120,225,29,92,196,246,249,
24,107,241,17,246,174,221,27,214,189,146,76,60,120,22,82,
131,207,220,223,184,148,87,126,243,187,246,165,35,214,118,189,
83,17,136,77,81,249,38,214,197,43,177,82,62,169,119,15,
55,4,223,18,219,199,98,251,112,200,127,5,193,73,163,219,
40,249,59,63,134,205,74,165,189,215,232,239,28,73,207,32,
88,55,255,2,129,225,56,251,

View file

@ -1,3 +0,0 @@
TOPIC("VectorDes$en-us")
#include "VectorDes$en-us.tpp"
END_TOPIC

View file

@ -1,9 +0,0 @@
VECTOR_BEGIN(test1, 610, 600)
VECTOR_OBJ(VectorRect, .SetRect(Rect(445, 47, 594, 501)).OutlineWidth(2).FillColor(Color(255, 205, 192)))
VECTOR_OBJ(VectorLine, .SetPoint(Vector<Point>() << Point(0, 436) << Point(424, 436) << Point(424, 212) << Point(245, 152) << Point(56, 212) << Point(56, 84) << Point(444, 84)).EndSize(20).EndCap(5).BeginSize(20).BeginCap(5).LineWidth(3))
VECTOR_END
VECTOR_BEGIN(test2, 200, 200)
VECTOR_OBJ(VectorRect, .SetRect(Rect(11, 17, 151, 128)))
VECTOR_OBJ(VectorRect, .SetRect(Rect(17, 141, 183, 173)).Text("Hello world!").Style(1))
VECTOR_END

View file

@ -1,4 +1,4 @@
description "Converts binary data to COFF object files";
description "Converts binary data to COFF object files\377";
optimize_speed;
@ -12,6 +12,3 @@ file
Info readonly separator,
Copying;
mainconfig
"" = "";

View file

@ -1,4 +1,4 @@
description "Library for handling with COFF object file format (used by GCC toolchain)";
description "Library for handling with COFF object file format (used by GCC toolchain)\377";
optimize_speed;
@ -17,6 +17,3 @@ file
Info readonly separator,
Copying;
mainconfig
"" = "";

View file

@ -33,6 +33,3 @@ file
Info readonly separator,
Copying;
mainconfig
"" = "GUI";

View file

@ -4,7 +4,7 @@
#include "ide\Common/init"
#include "PdfDraw/init"
#include "RichEdit/init"
#define BLITZ_INDEX__ FD1909ABA2CCE98092C4DD8BE9C458A5F
#define BLITZ_INDEX__ F6887F3691048C961C2D3E1070431DCF8
#include "TopicI.icpp"
#undef BLITZ_INDEX__
#endif

View file

@ -8,6 +8,3 @@ file
Info readonly separator,
Copying;
mainconfig
"" = "GUI";

View file

@ -1,9 +0,0 @@
uses
CtrlLib;
file
main.cpp;
mainconfig
"" = "GUI";

View file

@ -1,6 +0,0 @@
#include <CtrlLib/CtrlLib.h>
GUI_APP_MAIN
{
}