Exemple #1
0
	virtual void Paint(Draw& w, const Rect& r, const Value& q,
		               Color ink, Color paper, dword style) const
	{
		w.DrawRect(r, paper);
		Image m = q;
		if(!IsNull(m)) {
			Size sz = GetFitSize(m.GetSize(), r.Size());
			Point p = r.CenterPos(sz);
			w.DrawImage(p.x, p.y, CachedRescale(m, sz));
		}
	}
Exemple #2
0
	virtual IdeDesigner *CreateDesigner(const char *path, byte) {
		if(IsImgFile(path)) {
			FileIn in(path);
			One<StreamRaster> o = StreamRaster::OpenAny(in);
			if(o) {
				Size sz = o->GetSize();
				if(ToLower(GetFileExt(path)) == ".png" && sz.cx <= 768 && sz.cy <= 512) {
					IdePngDes *d = new IdePngDes;
					d->Load(path);
					d->RestoreEditPos();
					return d;
				}
				else {
					IdeImgView *d = new IdeImgView;
					d->img_sz = sz;
					d->filename = path;
					if(sz.cx <= 1024 && sz.cy <= 768)
						d->img = o->GetImage();
					else {
						ImageEncoder m;
						Rescale(m, GetFitSize(sz, Size(1024, 768)), *o, sz);
						d->img = m;
					}
					return d;
				}
			}
			else
			if(ToLower(GetFileExt(path)) == ".png" && GetFileLength(path) <= 0) {
				IdePngDes *d = new IdePngDes;
				d->Create(path);
				d->RestoreEditPos();
				return d;
			}
		}
		return NULL;
	}