missing pixels when drawing connecting lines
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
xserver-xorg-video-ati (Ubuntu) |
Expired
|
Low
|
Unassigned |
Bug Description
I have written a custom draw GUI toolkit called fpGUI Toolkit [http://
I have also noticed the same issue in other applications not based on fpGUI Toolkit. For example, I ran Beyond Compare v2 under Wine and it displayed the same problems. The Bottom left corners of Menus, Buttons, ComboBoxes etc are all missing pixels.
I did some testing and the XLib XDrawRectangle() method seems to work, but using the XLib XDrawLine() method doesn't in the latest Ubuntu 9.04. Like I said, in Ubuntu 7.10 and Ubuntu 8.04 this worked perfectly.
Button face drawing code used in fpGUI Toolkit
=======
procedure TfpgStyle.
var
r: TfpgRect;
begin
r.SetRect(x, y, w, h);
if btfIsDefault in AFlags then
begin
ACanvas.
ACanvas.
ACanvas.
InflateRect(r, -1, -1);
Exclude(AFlags, btfIsDefault);
fpgStyle.
Exit; //==>
end;
ACanvas.
ACanvas.
ACanvas.
if (btfFlat in AFlags) and not (btfIsPressed in AFlags) then
Exit; // no need to go further
// Left and Top (outer)
if (btfIsPressed in AFlags) then
begin
if (btfIsEmbedded in AFlags) then
ACanvas.
else
ACanvas.
end
else
ACanvas.
ACanvas.
ACanvas.
// Right and Bottom (outer)
if (btfIsPressed in AFlags) then
begin
if (btfIsEmbedded in AFlags) then
ACanvas.
else
ACanvas.
end
else
ACanvas.
ACanvas.
ACanvas.
// Right and Bottom (inner)
if btfIsPressed in AFlags then
begin
if (btfIsEmbedded in AFlags) then
ACanvas.
else
ACanvas.
end
else
ACanvas.
ACanvas.
ACanvas.
end;
=======
...and ACanvas.DrawLine calls the following XLib method as follows...
=======
procedure TfpgCanvasImpl.
begin
// Same behavior as Windows. See documentation for reason.
XDrawLine(
end;
=======
attached screenshot clearly shows the missing pixels. I used 'xmag' to enlarge the areas.
ProblemType: Bug
Architecture: i386
DistroRelease: Ubuntu 9.04
Package: libx11-6 2:1.1.99.2-1ubuntu2
ProcEnviron:
LC_TIME=
PATH=(custom, user)
LANG=en_ZA.UTF-8
SHELL=/bin/bash
ProcVersion: Linux version 2.6.28-11-generic (buildd@palmer) (gcc version 4.3.3 (Ubuntu 4.3.3-5ubuntu4) ) #37-Ubuntu SMP Mon Mar 23 16:40:23 UTC 2009
SourcePackage: libx11
Uname: Linux 2.6.28-11-generic i686
[lspci]
00:00.0 Host bridge [0600]: ATI Technologies Inc Radeon 9100 IGP Host Bridge [1002:7833]
Subsystem: ATI Technologies Inc Radeon 9100 IGP Host Bridge [1002:7833]
01:05.0 VGA compatible controller [0300]: ATI Technologies Inc Radeon 9100 PRO IGP [1002:7834]
Subsystem: Giga-byte Technology Device [1458:5000]
Changed in libx11 (Ubuntu): | |
status: | New → Confirmed |
description: | updated |
tags: | added: kubuntu |
tags: | added: jaunty |
affects: | libx11 (Ubuntu) → xserver-xorg-video-ati (Ubuntu) |
Changed in xserver-xorg-video-ati (Ubuntu): | |
status: | Incomplete → Confirmed |
Looking at the screenshot again. It looks like the bottom two horizontal lines are incorrectly offset by 1 pixel to the left.