Hi Przemek,

I've checked them, and my app is now fully broken
unfortunately :( Lots of TGET and TBROWSE usage may rely
on cursor being left at certain positions, and since
now cursor is not moved, for example all entry screens
come up empty (the GETs that is). Also, I didn't yet
inspect the exact problem, but when I'm going into any
of my functions from a TB screen, the TB screen gets
cleared. Also, my TB code for example was relying on
exact cursor position after :forceStable() to place
a quick search field, and while this seems to be working
now, such places can break.

Few other, more specific issues:

Speed: now hb_gtPutText() will save/set/restore the
color, and the new caller, hb_DispOut() will also do so.
Is the latter necessary BTW? To me it seems like it's not,
anymore.

Anyway, since color is a string in Harbour, any code
touching it is costly. Do you think it'd be possible to
change colors internally to some more machine friendly
format, like simple ULONG, or string of ULONGs? Not on
the short-term, but generally.

I'll commit some small fixes, not targeting above issues.

Brgds,
Viktor

On 2008.10.11., at 3:24, Przemyslaw Czerpak wrote:

2008-10-11 03:24 UTC+0200 Przemyslaw Czerpak (druzus/at/priv.onet.pl)
 * harbour/source/rtl/scrollbr.prg
 * harbour/source/rtl/getsys.prg
 * harbour/source/rtl/tpopup.prg
 * harbour/source/rtl/tgetlist.prg
 * harbour/source/rtl/radiogrp.prg
 * harbour/source/rtl/listbox.prg
 * harbour/source/rtl/checkbox.prg
 * harbour/source/rtl/browse.prg
 * harbour/source/rtl/tget.prg
 * harbour/source/rtl/ttopbar.prg
 * harbour/source/rtl/pushbtn.prg
 * harbour/source/rtl/tmenusys.prg
 * harbour/source/rtl/achoice.prg
 * harbour/source/rtl/teditor.prg
 * harbour/source/rtl/radiobtn.prg
 * harbour/source/rtl/tbrowse.prg
   * replaced DispOut() with hb_dispOut()
   * replaced DispBox() with hb_dispBox()
   % removed saving and restoring of cursor position in places where
     it's not longer necessary due to hb_dispOut()/hb_dispBox() usage
   % removed saving and restoring of SetColor() value in places where
     it's not longer necessary due to hb_dispOut()/hb_dispBox() usage
   % removed saving and restoring of MSetCursor(). If it's necessary
low GT driver should hide and redraw mouse cursor before and after
     screen update. We do not have to make it manually

  The above modification gives faster code and allow to access screen
  from different threads simultaneously because functions like
  hb_dispOut() and hb_dispBox() are stateless and atomic in screen
  access. Not all .prg code has been updated yet. If someone is
  familiar with this code then please help. I'll add yet HB_SCROLL()
  function which will support additionally colors.
  Viktor if possible please verify this modifications.

best regards
Przemek
_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

_______________________________________________
Harbour mailing list
Harbour@harbour-project.org
http://lists.harbour-project.org/mailman/listinfo/harbour

Reply via email to