1:1 MSPaint clone - not ? but !

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

Post Reply
gyROS
Posts: 199
Joined: Sun Nov 09, 2008 8:10 pm
Location: Deutschland

1:1 MSPaint clone - not ? but !

Post by gyROS »

FINAL EDIT: Since 12.5.2009 the program is officially called "Paint for ReactOS" and is part of the React Operating System. You can find the sources in svn and binaries in every ReactOS installation.
------------------
LATE EDIT: The screen shots in the following posts might be outdated and maybe do not represent all the current functionality.
------------------
Hi everyone,

What do you think of a program like this? (I don't mean the Vista version of MSPaint, but the screenshot of my work-in-progress clone opened in it)
Tell me, if there is any interest in it/if you think it's useful!

[ external image ]

It's written in C + WinAPI using DevCpp and mingw.
The painting functions, zoom and palette editing are almost implemented right now, file and clipboard functions and such for mirroring and rotating will follow once I get it managed to write them.
It's both, my first C and my first WinAPI program, so give me some time.
Last edited by gyROS on Tue May 19, 2009 4:29 pm, edited 2 times in total.
Blackcrack
Posts: 1808
Joined: Tue Dec 20, 2005 12:55 pm
Contact:

Re: 1:1 MSPaint clone - not ? but !

Post by Blackcrack »

Hy,

it's nice, if you dont have see the MS-Code and if you have
wrote that programm without any other code, only it's your's
programming work, then i dont see any thing against it..
it's nice to have a mspaint-programm-clone imho *bg*

Oky,it is give Gimp, but it's realy to big as default Paint Program.

But, why do you not make litle better, smaller painter,
possible to make higher details and 3-6 more options
why not be a lil' bit better as the default-orginal one.. :mrgreen:

best regards
Blacky
preston
Developer
Posts: 272
Joined: Wed Sep 27, 2006 8:19 pm
Location: Prague, Czech Republic

Re: 1:1 MSPaint clone - not ? but !

Post by preston »

there's unfinished mspaint alternative already in our tree.. check /rosapps/imagesoft.. maybe you could try to finish it? join our IRC channel if you want to discuss this in real time ;-)
gyROS
Posts: 199
Joined: Sun Nov 09, 2008 8:10 pm
Location: Deutschland

Re: 1:1 MSPaint clone - not ? but !

Post by gyROS »

I already heard about Imagesoft and that it is going to be a heavily enhanced msPaint alternative, my intention is only to write an exact clone for those, who do not want any differences to the program they use in windows. Moreover I generally don't think that I would be able to extend code written by other ones, at least not at this point int time. I think it is the best if I try to finish this one and thereby give future users one option more.
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: 1:1 MSPaint clone - not ? but !

Post by vicmarcal »

well gyROS, maybe you can reuse some code ;)...that will help you ;)
Haos
Test Team
Posts: 2954
Joined: Thu Mar 22, 2007 5:42 am
Contact:

Re: 1:1 MSPaint clone - not ? but !

Post by Haos »

I think it has great potential, also it meets our requirements for bundled app. You should visit our irc channel someday.
ThePhysicist
Developer
Posts: 509
Joined: Mon Apr 25, 2005 12:46 pm

Re: 1:1 MSPaint clone - not ? but !

Post by ThePhysicist »

What I can see from the screenshot looks good. And if it's pure C + Winapi + a windows Paint clone it would fit exactly into our code base. Some questions: Are the icons free? Where are they from? What functionality is implemented so far?
gyROS
Posts: 199
Joined: Sun Nov 09, 2008 8:10 pm
Location: Deutschland

Re: 1:1 MSPaint clone - not ? but !

Post by gyROS »

The Icons are free. 5 are partly modified tango icons (ReactOS uses tango Icons), the rest is self-painted.
At the moment there are a few problems when running it in ReactOS, since the program relies entirely on API functions for drawing. So for example Floodfill does not work and you cannot adjust the line width. There seem to be some problems with the button status in the WM_MOUSEMOVE event to, so painting does not really work, since I am relying on it. Furthermore when you zoom in the StretchBlt draws everywhere on the screen, not only in its client area (the scrollbox).
I just don't want to report them as ros bugs before I am sure that they are ones.
I'm planning to kick out the StretchBlt anyway, replacing the currently used bitmaps with IPicture instances (they offer save to stream functionality, so why not use it)
vicmarcal
Test Team
Posts: 2733
Joined: Mon Jul 07, 2008 12:35 pm

Re: 1:1 MSPaint clone - not ? but !

Post by vicmarcal »

gyROS:
Your Paint is going to be a nice test box to find drawing problems. We have some issues with Drawing(although our Devs lately have fixed a lot of bugs about Graphics),i.e: pen width (http://www.reactos.org/bugzilla/show_bug.cgi?id=2761),among others(as problems with our Mouse Messages).



You must develope your Paint and check if it runs nice in Windows:If mouse click works in Windows,if palette color works in Windows, if your features works in Windows, then it should work in Reactos.If doesnt, dont try to change the code finding another way to make it workable in Windows and in ReactOS.Or worst,finding a way(a Hack) that would make it works in ReactOS but not in Windows.
To sum up: Finding an alternative way because a Bug will hide the Bug.And we need to find it(related to:)
gyROS wrote:I'm planning to kick out the StretchBlt anyway, replacing the currently used bitmaps with IPicture instances (they offer save to stream functionality, so why not use it)
If one feature works nice in Windows,but isnt working in ReactOS then it´s a Bug ;)...report to our Bugzilla.Anyway, if you have doubts about if it is/isnt a bug ask any tester(i.e: me) to confirm it.We would be pleased to help you.You can find us in IRC:You can use Chatzilla-Firefox Add-on to join us.

As you are the Paint developer you can easily point our Devs which function(of your code) isnt working as it should(as it works in Windows), that will help them to find the Bug in our ReactOS code. Indeed,if you are enough skilled(and if you are working with WinAPI you are),you can find that guilty function in our Doxygen and find how we are (wrongly) implementing it and why it isnt working properly.

Also, maybe you can hang your code in SourceForge so we can have a look of your code.Is it GPL?.Or at least the .exe to confirm bugs ;)

Thanks for your work
Haos
Test Team
Posts: 2954
Joined: Thu Mar 22, 2007 5:42 am
Contact:

Re: 1:1 MSPaint clone - not ? but !

Post by Haos »

We doesnt mind issues in ReactOS, if app works correctly in Windows - such cases help us determin what components are needed. Could you please join #reactos channel on irc.freenode.net irc server, so you can talk with our Project Coordinator?

What are your plans at the moment? If you wish to have this app bundled with ROS, you should seriously consider importing the source into our codebase. This doesnt mean that you have to use if for development, you can easily support it via sending patches.

How is your code licensed? Do you publish code/binary anywhere so we could take a look and start testing it? If you have any questions, do not hesitate from bugging me via forum or irc.
gyROS
Posts: 199
Joined: Sun Nov 09, 2008 8:10 pm
Location: Deutschland

Re: 1:1 MSPaint clone - not ? but !

Post by gyROS »

First, here's your exe for testing: http://www.freenet-homepage.de/meinstuss/Projekt1.exe

And yes, I'll definetly open the source (either GPL or LGPL, I have to think about it), but give me some time to clean up everything to prevent more experienced C developers from getting a heart attack.
The reason, for which I want to use IPicture in the future actually is not to work around bugs, but to greatly ease the implementation of the open/save functions. As I already mentioned it already serves a save to stream function which outputs the data the way it is stored in a file.

To the drawing bugs:
o I'll look, whether the StretchBlt bug is already listed, and if it also occurres using IPicture methods (it draws itself on the DC, probably using StretchBlt)
o The WM_MOUSEMOVE-bug seems to be known, but I'll look
o For the obviously missing floodfill, I could perhaps write a slow 'n' dirty drop in replacement myself. Once I opened the source (soon), the function could then be moved to ROS-API if needed and if possible
Lone_Rifle
Test Team
Posts: 802
Joined: Thu Apr 03, 2008 2:17 pm
Contact:

Re: 1:1 MSPaint clone - not ? but !

Post by Lone_Rifle »

gyROS, how long more before you consider the clone complete?

Devs, maybe put this into trunk bootcd to facilitate testing of win32 or something.
gyROS
Posts: 199
Joined: Sun Nov 09, 2008 8:10 pm
Location: Deutschland

Re: 1:1 MSPaint clone - not ? but !

Post by gyROS »

Complete?

Well at least the open/save and copy/paste functions should be working before then.
About rotating and stuff we can talk, you're right optically it is more or less complete.

How long?

Maybe 2 more weeks?
Lone_Rifle
Test Team
Posts: 802
Joined: Thu Apr 03, 2008 2:17 pm
Contact:

Re: 1:1 MSPaint clone - not ? but !

Post by Lone_Rifle »

By complete I mean that it can replace mspaint, be subject to full and extensive use, and nobody would notice any difference in functionality. Granted something like that would probably take a long time, but I guess once open/save and copy-pasting works we will have a functioning clone by then. Rotating and other things would probably be helpful, since my own experience suggests that they are will be used extensively
User avatar
gonzoMD
Posts: 1077
Joined: Fri Oct 20, 2006 7:49 am
Location: Germany
Contact:

Re: 1:1 MSPaint clone - not ? but !

Post by gonzoMD »

great work, I hope that this will be completed soon and merged into trunk.

I think that ROS shouldn't be just a naked OS, the standard Windows tools should be added too.
I thought about to code a picture viewer, but I don't have much time for.
Post Reply

Who is online

Users browsing this forum: No registered users and 48 guests