ImageEn for Delphi and C++ Builder ImageEn for Delphi and C++ Builder
ImageEn Forum
Profile    Join    Active Topics    Forum FAQ    Search this forumSearch
Forum membership is Free!  Click Join to sign-up
Username:
Password:
Save Password
Forgot your Password?

 All Forums
 ImageEn Library for Delphi, C++ and .Net
 ImageEn and IEvolution Support Forum
 Selection Clipping
 New Topic  Reply to Topic
 Printer Friendly
Author Previous Topic Topic Next Topic  

spetric

Croatia
246 Posts

Posted - Apr 11 2019 :  06:17:58  Show Profile  Reply
Hi,

I'm drawing strokes on ImageEnView->IEBitmap. Everything works OK until I set
some selection and tell drawing engine to perform selection clipping.
When selection is active, free hand stroke drawing is very slow and selection marquee is flickering.



When VisibleSelection is set to false, drawing is fast.

Is it possible to get selection handle to lock selection updating?
If not, any workaround will be highly appreciated.

TIA,
Siniša

xequte

4895 Posts

Posted - Apr 11 2019 :  19:54:02  Show Profile  Reply
Hi Sinisa

Sorry, I cannot reproduce this. Are you using the Brush Tool for freehand drawing? What method are you using to perform the selection clipping?

Does removing iesoAnimated from ImageEnView1.SelectionOptions make any difference?

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

spetric

Croatia
246 Posts

Posted - Apr 12 2019 :  04:15:10  Show Profile  Reply
Hi Nigel,

I'm using my drawing engine. The problem is when stoke drawing is threaded.
I need threaded stroke drawing because when brush tip is big (let's say 100px),
then mouse movement is abrupt (no thread). With threaded stroke, stroke drawing is delayed, but mouse movement does not "stutter".

Brush tip size = 100:


Stroke clipping is probably slowed down because of ImageEnView updating:
stroke + selection updates are not synchronized.

When small sized brush tips is used without threading, selection clipping works fast. Also, when VisibleSelection is set to false, threaded stroke also works fast.




Go to Top of Page

xequte

4895 Posts

Posted - Apr 12 2019 :  19:51:04  Show Profile  Reply
Hi Sinisa

Those brushes are gorgeous. I'll download the latest spEngine next week and try to reproduce the issue.

Nigel
Xequte Software
www.imageen.com
Go to Top of Page

xequte

4895 Posts

Posted - Apr 13 2019 :  02:08:18  Show Profile  Reply
Hi Sinisa

I played with the spnEngine a lot today. It is very cool. Can I link to it from our download page?

What's the best way to reproduce the slowness issue?


Nigel
Xequte Software
www.imageen.com
Go to Top of Page

spetric

Croatia
246 Posts

Posted - Apr 15 2019 :  04:08:43  Show Profile  Reply
Hi Nigel,

This is actually an old version of the engine. I'll put new version (with complete source code) on GitHub (within a month, I hope).
There is a lot of bug corrections and lot of new stuff:

- undo engine (save/restore updated roi)
- image warping (a bunch of hand warping routines, mesh warping)
- nozzle drawing
- stencil support
- multistroke drawing
- multicolor brushes (palette colors)
- simple 3x3 filters
- spline drawing (Catmull-Rom opened/closed)
- tessellation (Voronoi, Delaunay solid, Delaunay with Gouraud shading)
- color correction (Roy Magne Klever's code implementation)
- various image processing routines
- drop shadow
- Intel IPP support (fast filters, geometric transforms, image moments, color twist, distance transforms, deconvolution, etc...). If IPP dll is not present, engine will work in "standard/light" mode.

To reproduce delay issue, you can put speHandMouseMove API call inside some thread.

I will try to replace selections with "poly object" from selection and hide selection to see if delay persists. Otherwise, I will call speHandMouseMove API
directly (no-threaded) in case of Selected == true.





Go to Top of Page
  Previous Topic Topic Next Topic  
 New Topic  Reply to Topic
 Printer Friendly
Jump To: