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 » Community » U++ community news and announcements » Painter refactored/optimized
Re: Painter refactored/optimized [message #50532 is a reply to message #50531] Tue, 13 November 2018 09:35 Go to previous messageGo to previous message
Tom1
Messages: 1303
Registered: March 2007
Ultimate Contributor
Hi,

OK, I added 'sw.Finish();' in the end. There is still something strange with it.

Please add 'BufferPainter csw;' to PainterExamples App and Change the App::Paint() in main.cpp:
void App::Paint(Draw& w)
{
	Size sz = GetSize();
	if(ctrl.transparent) {
		for(int y = 0; y < sz.cy; y += 32)
			for(int x = 0; x < sz.cx; x += 32)
				w.DrawRect(x, y, 32, 32, (x ^ y) & 32 ? Color(254, 172, 120) : Color(124, 135, 253));
	}
	ImageBuffer ib(sz);
	{
		//BufferPainter sw(ib, ctrl.quality); // Removed
		csw.Create(ib, ctrl.quality); // Added
		
		BufferPainter &sw=csw;
		
		if(ctrl.transparent)
			sw.Clear(RGBAZero());
		else
			sw.Clear(White());
		sw.Co(ctrl.mt);
		DoPaint(sw);
		
		sw.Finish(); // Added
	}
	w.DrawImage(0, 0, ib);
	
}


Just scaling causes strange behavior.

Best regards,

Tom

EDIT: My own code worked fine again after adding the 'sw.Finish();'. However, it feels like the transformations do not get reset to default identity transformation in PainterExamples. Maybe this should be part of Create()...?
EDIT2: This appears to solve the issue with PainterExamples. Add the following in the end of BufferPainter::Create():
pathattr.mtx = attr.mtx = Xform2D::Identity();

However, I'm not sure if this breaks something else instead...

[Updated on: Tue, 13 November 2018 10:05]

Report message to a moderator

 
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
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
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
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Read Message
Previous Topic: Jsonize/Xmlize with lambda (and common template example)
Next Topic: Critical issues to resolve for U++ 2018.1 - please suggest
Goto Forum:
  


Current Time: Sat May 10 14:10:49 CEST 2025

Total time taken to generate the page: 0.02890 seconds