Any easy way to fill certain (closed) area of HIRES screen?

The Oric video chip is not an easy beast to master, so any trick or method that allows to achieve nice visual results is welcome. Don't hesitate to comment (nicely) other people tricks and pictures
Brana
Flying Officer
Posts: 161
Joined: Fri Nov 30, 2007 8:30 pm
Contact:

Any easy way to fill certain (closed) area of HIRES screen?

Any easy way to fill certain (closed) area of the HIRES screen?

I'm wondering is there any simple (in BASIC?) solution, for this is the problem that's been bugging me for a couple of years now (!)

If I do something simple as drawing a circle, square, or an ellipse in HIRES in Oric Atmos, then sometimes I need to fill all (inside) pixels of that (closed) shape with INK color (just to be white), but I do not know any simple (and accurate) way to do that?

Is there any solution in Oric BASIC for this situation?

Dbug
Posts: 3375
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Any easy way to fill certain (closed) area of HIRES scre

Yes there is a way, I remember there was some Type In programs in some magazines with a BASIC implementation of that.
What you need to search for is 'floodfill'.

There are some examples with animations and pseudocode on wikipedia.:
http://en.wikipedia.org/wiki/Flood_fill

Know that there are many different methods to do it, but they basically are all recursive (so you may get an error with a Stack Overflow) or require arrays to store the non yet treated branches. Some are more efficient than others, and most can just be implemented with POINT(x,y) and CURSET(x,y,t).

In BASIC it may be quite slow, but I would try first the scanline method, it's probably the less memory/stack intensive.

peacer
Flight Lieutenant
Posts: 420
Joined: Wed Jun 09, 2010 9:23 pm
Location: Turkey
Contact:

Re: Any easy way to fill certain (closed) area of HIRES scre

In Peter's web site (TheSpider) he put his own painting program "spaint" . The program is written in %100 basic. The program is really helpful. It has many subroutines to draw circle, box, change attribute etc and shape filling routine. The filling code is really short, simple and fast.
4750 PRINTR\$;"Fill Shape : Are you sure? (Y/N)"
4760 REPEAT:CK\$=KEY\$:UNTIL CK\$="Y" OR CK\$="N"
4770 IF CK\$="N" THEN RETURN
4780 ' Fill shape
4790 FX=X:FY=Y
4800 IF POINT(X,Y)=0 THEN FP=0 ELSE FP=-1
4810 IF FP=0 THEN PRINT"Filling in foreground colour"
4820 IF FP=-1 THEN PRINT"Filling in background colour"
4830 REPEAT:PY=-1 ' move to top
4840 IF FY=LY THEN GOTO 4860
4850 IF POINT(FX,FY-1)=FP THEN FY=FY-1:PY=0
4860 UNTIL PY=-1
4870 CURSET FX,FY,2
4880 REPEAT:PY=-1 ' going down
4890 REPEAT:PX=-1 ' go left
4900 IF FX=LX THEN GOTO 4920
4910 IF POINT(FX-1,FY)=FP THEN CURSET FX-1,FY,2:FX=FX-1:PX=0
4920 UNTIL PX=-1
4930 FX=X
4940 REPEAT:PX=-1 ' go right
4950 IF FX=MX THEN GOTO 4970
4960 IF POINT(FX+1,FY)=FP THEN CURSET FX+1,FY,2:FX=FX+1:PX=0
4970 UNTIL PX=-1
4980 FX=X
4990 IF FY=MY THEN GOTO 5010
5000 IF POINT(FX,FY+1)=FP THEN CURSET FX,FY+1,2:FY=FY+1:PY=0
5010 UNTIL PY=-1
5020 RETURN
http://oricspider.home.insightbb.com/spiderbasic.html

Symoon
Archivist
Posts: 1880
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

Hi,
Peter's website seems down Anybody knows if it has moved to another place?
Thanks!

coco.oric
Posts: 570
Joined: Tue Aug 11, 2009 9:50 am
Location: North of France
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

i'll look in my archives.
may be i've archived a copy
coco.oric as DidierV, CEO Member
Historic owner of Oric, Apple II, Atari ST, Amiga

Dbug
Posts: 3375
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

Have found my site code in HD storage. Shall need to work on it a bit, updating links etc, before I am able to share again.

Symoon
Archivist
Posts: 1880
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

Thanks!
Do you know of any particular reason why the site went offline?

Dbug
Posts: 3375
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

Thanks Mickael, I don't believe my site is hosted anywhere now. My cable company has been taken over twice since those days.

Symoon
Archivist
Posts: 1880
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

Thanks! I see, same thing that happened with my little site when Geocities went down and I didn't have the nerve to set it up again - except my site didn't have any interesting information

TheSpider
Pilot Officer
Posts: 71
Joined: Sat Jan 07, 2006 8:17 am
Location: Lexington, Kentucky, USA (Ex-Elgin, Scotland)
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

Dbug wrote:
Thu Apr 13, 2017 7:40 pm
Yes you did!!!
Sent you a link on FB message to my updated & zipped site on Dropbox.
Could oric.org assist in hosting these pages?
Peter (TheSpider) Paterson
A Scotsman in Kentucky
http://thespider.oric.org
http://mintspider.blogspot.com

TheSpider
Pilot Officer
Posts: 71
Joined: Sat Jan 07, 2006 8:17 am
Location: Lexington, Kentucky, USA (Ex-Elgin, Scotland)
Contact:

Re: Any easy way to fill certain (closed) area of HIRES scre

peacer wrote:
Sat Jul 06, 2013 10:59 am
In Peter's web site (TheSpider) he put his own painting program "spaint" . The program is written in %100 basic. The program is really helpful. It has many subroutines to draw circle, box, change attribute etc and shape filling routine. The filling code is really short, simple and fast.

Greetings again peacer!!
I had to reset my password to get back into this forum, and received a message that my last login was in 2009.... oops!
Yeah, spaint was a labour of love for such a long time. I still run the program from time to time.
The filling routine is not the best, but did the job for what I needed. It missed areas, which you had to go to and start again there.
Hope you are doing well mate.
Peter (TheSpider) Paterson
A Scotsman in Kentucky
http://thespider.oric.org
http://mintspider.blogspot.com

peacer
Flight Lieutenant
Posts: 420
Joined: Wed Jun 09, 2010 9:23 pm
Location: Turkey
Contact:

Re: Any easy way to fill certain (closed) area of HIRES scre

TheSpider wrote:
Thu Apr 27, 2017 1:54 am
Greetings again peacer!!
I had to reset my password to get back into this forum, and received a message that my last login was in 2009.... oops!
Yeah, spaint was a labour of love for such a long time. I still run the program from time to time.
The filling routine is not the best, but did the job for what I needed. It missed areas, which you had to go to and start again there.
Hope you are doing well mate.
Hi peter Nice to hear from you too. I am trying to get by the life

I think your basic code is great. You are speaking modestly

Best wishes

Dbug
Posts: 3375
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

TheSpider
Pilot Officer
Posts: 71
Joined: Sat Jan 07, 2006 8:17 am
Location: Lexington, Kentucky, USA (Ex-Elgin, Scotland)
Contact:

Re: Any easy way to fill certain (closed) area of HIRES screen?

Thank you so much Dbug and Jede!!!!!
Peter (TheSpider) Paterson
A Scotsman in Kentucky
http://thespider.oric.org
http://mintspider.blogspot.com

TheSpider
Pilot Officer
Posts: 71
Joined: Sat Jan 07, 2006 8:17 am
Location: Lexington, Kentucky, USA (Ex-Elgin, Scotland)
Contact:

Re: Any easy way to fill certain (closed) area of HIRES scre

peacer wrote:
Thu Apr 27, 2017 11:26 pm
Hi peter Nice to hear from you too. I am trying to get by the life
I think your basic code is great. You are speaking modestly
Best wishes
Glad to hear you are doing good peacer.
Still working at a Food Bank, these days being the Food Procurement Coordinator and Report Writer.

Was chatting with my wife about all these artists that go back to their projects many years later.
That may be me with Spaint, as it truly still is a work in progress, and one I enjoy.
Peter (TheSpider) Paterson
A Scotsman in Kentucky
http://thespider.oric.org
http://mintspider.blogspot.com