Overview
Examples
Screenshots
Comparisons
Applications
Download
Documentation
Tutorials
Bazaar
Status & Roadmap
FAQ
Authors & License
Forums
Funding Ultimate++
Search on this site
Search in forums












SourceForge.net Logo
Home » U++ Library support » Draw, Display, Images, Bitmaps, Icons » How to efficiently update a large Image?
Re: How to efficiently update a large Image? [message #22597 is a reply to message #22588] Wed, 29 July 2009 09:18 Go to previous messageGo to previous message
Tom1
Messages: 1304
Registered: March 2007
Ultimate Contributor
Hi Mirek,

Here's the raw GDI code for SetSurface with added flexibility:

void SetSurface(HDC dc, Rect &dest, Point &srcoff, Size &bufsz, const RGBA *pixels){
	GuiLock __;
	BitmapInfo32__ bi(bufsz.cx, bufsz.cy);
	::SetDIBitsToDevice(dc,dest.left,dest.top,dest.Width(),dest.Height(),srcoff.x,-srcoff.y-dest.Height()+bufsz.cy,0,bufsz.cy,pixels, bi, DIB_RGB_COLORS);
}

void SetSurface(SystemDraw &w, Rect &dest, Point &srcoff, Size &bufsz, const RGBA *pixels){
	SetSurface(w.GetHandle(),dest,srcoff,bufsz,pixels);
}


I'm not quite confident I can reproduce this in X11 in a truly powerful way, so I hope someone with solid X11 knowledge will pick it up.

// Tom
 
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Color menu choice
Next Topic: Support for 2bpp tiff images
Goto Forum:
  


Current Time: Fri Jul 04 11:45:59 CEST 2025

Total time taken to generate the page: 0.04201 seconds