Steema Issues Database

Note: This database is for bugs and wishes only. For technical support help, if you are a customer please visit our online forums;
otherwise you can use StackOverflow.
Before using this bug-tracker we recommend a look at this document, Steema Bug Fixing Policy.



Bug 1135

Summary: Transparet background color causes repaint error
Product: FireMonkey TeeChart Reporter: Peter Lorenz <Peter.Lorenz>
Component: ChartAssignee: Steema Issue Manager <issuemanager>
Status: CONFIRMED ---    
Severity: normal CC: sandra
Priority: Normal    
Version: 150120   
Target Milestone: ---   
Hardware: PC   
OS: Windows   
Chart Series: Bar Delphi / C++ Builder RAD IDE Version: RAD XE7

Description Peter Lorenz 2015-02-12 08:11:09 EST
When background-color is set to a partly/full transparency,
chart does not repaint correctly any more.

when background is partly transparent:
any time you add an new value, last chart remains as a shadow

when background is set to complete transparency:
chart will not be erase before repaint the new char,
this causes complete graphic failure after changing chart(series) content a few times.

How to reproduce:
- create a new mobile application using delphi xe7 update 1
- add an image or component to the form (align contents) 
- add a chart with an horizontal bar series over it
- set color property to something like  x76FFFFFF (partly transparent)
(
object Chart1: TChart
  Position.X = 400.000000000000000000
  Legend.Visible = False
  PrintProportional = False
  Title.Font.Size = 26.000000000000000000
  Title.Font.Color = claBlack
  Title.Font.Brush.Color = claBlack
  Title.Text.Strings = (
    'TChart')
  Title.Visible = False
  BottomAxis.LabelsSeparation = 90
  BottomAxis.StartPosition = 10.000000000000000000
  BottomAxis.EndPosition = 90.000000000000000000
  Zoom.Allow = False
  Zoom.Brush.Kind = None
  Zoom.Pen.Fill.Color = claSilver
  Align = Right
  Color = x76FFFFFF
  TabOrder = 0
  Size.Width = 272.000000000000000000
  Size.Height = 616.000000000000000000
  Size.PlatformDefault = False
  ColorPaletteIndex = 19
  object HorizBarSeries2: THorizBarSeries
    BarBrush.Kind = Gradient
    BarBrush.Gradient.Direction = gdLeftRight
    BarBrush.Gradient.EndColor = xFF0099CC
    BarBrush.Gradient.Visible = True
    ColorEachPoint = True
    Marks.Visible = False
    BarStyle = bsRectGradient
    Gradient.Direction = gdLeftRight
    Gradient.EndColor = xFF0099CC
    Gradient.Visible = True
    XValues.Name = 'Bar'
    XValues.Order = loNone
    YValues.Name = 'Y'
    YValues.Order = loNone
  end
)
- add an button that add a value
(
    Chart1.Series[0].Add((random(100)-50)/10, 'Test'+inttostr(i));
)
- add an clear button that clears series
(
 Chart1.Series[0].Clear;
)

Execute on Win32 or IOS and look what happens.
Anytime you add an value old chart is not erased before repaint.
Repaint only happens on Resize Event.

Need to be fixed.

regards
Peter