Project

General

Profile

Actions

Bug #1236

open

WPainter.setWindow() causes WPainterPath to work incorrect for WPaintedWidget::PngImage

Added by Boris Nagaev about 12 years ago. Updated about 11 years ago.

Status:
New
Priority:
Normal
Assignee:
-
Target version:
-
Start date:
04/13/2012
Due date:
% Done:

0%

Estimated time:

Description

Hello!

painter.setWindow() was applied to WPainter.

It was discovered, that in that case image parts, produced by WPainterPath (for example, lineTo), are rendered incorrectly if WPaintedWidget::PngImage is used. At the same time, methods of WPainter itself (for example, drawEllipse) work fine.

To demonstrate this bug, test case was created. It shows the same widget twice: with enforced PNG method and with standard method (non-PNG). Firstly, setWindow(0, 0, 1, 1) is called. Then a circle is drawn with a method of painter, and a line --- with a method of path. For non-PNG case (bottom), both are rendered in places, where expected. For PNG (above), the circle is painted in proper location, but the line seems to be shifted in the direction of top-left corner.

This bug was initially discovered by Ramil Mintaev (ramil.mintaev@gmail.com).


Files

set_window.cpp (1.08 KB) set_window.cpp Boris Nagaev, 04/13/2012 12:29 AM
set-window.png (48.6 KB) set-window.png screenshot with error (png, above) and without error (non-png, bottom) Boris Nagaev, 04/13/2012 12:29 AM
wt-bug-1236-fix.diff (2.62 KB) wt-bug-1236-fix.diff Boris Nagaev, 04/01/2013 03:54 PM
Actions #1

Updated by Boris Nagaev about 12 years ago

This bug is not reproduced in Wt 3.1.4, but can be observed in Wt 3.1.10

Actions #2

Updated by Boris Nagaev about 11 years ago

Hello!

Here is fix for this bug.

Wt Painting system seems to be abandoned. This bug was not fixed for 1 year.

Are you going to fix another bug of Painting system (http://redmine.emweb.be/issues/1803)?

Actions

Also available in: Atom PDF