<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>

<META content=1 name=qrichtext>
<STYLE type=text/css>
p, li { white-space: pre-wrap; }
</STYLE>

<META content="MSHTML 6.00.6000.16544" name=GENERATOR></HEAD>
<BODY 
style="FONT-WEIGHT: 400; FONT-SIZE: 10pt; FONT-STYLE: normal; FONT-FAMILY: 'Liberation Sans'">
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">> 
  > The scrollbar invalidates indeed the whole region, even if it is 
  located</P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">> 
  > outside the customcontrol (and thus invisible). If nobody else has</P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">> 
  > another idea I would suggest to create a bug report.</P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">> 
  > </P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">> 
  > In the mean time, a workaround is to parent the scrollbox to the 
  parent</P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">> 
  > of TPaintTest. The constructor becomes then</P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0; -qt-paragraph-type: empty"><FONT 
  face="'Liberation Sans'"></FONT><BR></P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">OK, 
  let's stop a bit here.</P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">It 
  invalidates some area (parent in this case), and part of that area isn't 
  exposed (visible) then gtk2 will not paint that part. if it's opposite then 
  it's an ugly gtk2 bug.<SPAN class=703430717-09072011><FONT 
  face="'Liberation Sans'"> </FONT></SPAN></P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0"><SPAN 
  class=703430717-09072011></SPAN> </P></BLOCKQUOTE>
<P dir=ltr 
style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0"><SPAN 
class=703430717-09072011><FONT face="'Liberation Sans'">No, "it" in " if it is 
located outside the customcontrol "is the scrollbar. In Armin's testprogram 
change </FONT></SPAN><SPAN class=703430717-09072011> ScrollBar.Align 
:= alRight; to ScrollBar.Left:=510, ScrollBar.Height :=500 , so that scrollbar 
doesn't cover any area of  TPaintTest and isn't shown at all. Even in this 
extreme case, the whole TPaintTest area is invalidated.</P></SPAN>
<BLOCKQUOTE dir=ltr 
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; MARGIN-RIGHT: 0px">
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">Let 
  me see one more time what's exact problem:</P>
  <P 
  style="MARGIN: 0px; TEXT-INDENT: 0px; -qt-block-indent: 0; -qt-user-state: 0">Any 
  visible scrollbar in TCustomControl sends update for whole parent (eg. form) ? 
  IMO, it's fixable under gtk2lcl by intercepting expose event in scrollbar and 
  reduce area which is marked as exposed, but then another question raises , 
  what if I move scrollbar by mouse (and I have already cutted exposed area to 
  the size of scrollbar) ? My TCustomControl will get an update since it's 
  viewport is moved ?</P><FONT face="'Liberation Sans'"></FONT></BLOCKQUOTE>
<DIV dir=ltr><SPAN class=703430717-09072011><FONT face="'Liberation Sans'">Why 
does a scrollbar invalidate the complete parent area if nothing has changed for 
the scrollbar (exposition, location, scroll, mouseclick,...)? 
</FONT></SPAN></DIV>
<DIV dir=ltr><SPAN class=703430717-09072011><FONT 
face="'Liberation Sans'"></FONT></SPAN> </DIV>
<DIV dir=ltr><SPAN class=703430717-09072011><FONT 
face="'Liberation Sans'">Having the area under the scrollbar marked as exposed 
isn't an issue, I think. The parent is aware of the scrollbar position and 
wouldn't draw underneath anyways. So, no reason to reduce the exposed area. 
</FONT></SPAN></DIV>
<DIV dir=ltr><SPAN class=703430717-09072011><FONT 
face="'Liberation Sans'"></FONT></SPAN> </DIV>
<DIV dir=ltr><SPAN class=703430717-09072011>Aren't scrollbar mouse 
movements signaled by special gtk events? That is where I would expect the 
whole parent area to be invalidated. How are windows and gtk solving this? 
</SPAN></DIV>
<DIV dir=ltr><SPAN class=703430717-09072011></SPAN> </DIV>
<DIV dir=ltr><SPAN class=703430717-09072011><FONT 
face="'Liberation Sans'">Ludo</FONT></SPAN></DIV>
<DIV dir=ltr><FONT face="'Liberation Sans'"></FONT> </DIV></BODY></HTML>