New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sprite and Background Editor/Previewer #87

Open
RobertBColton opened this Issue Sep 6, 2013 · 10 comments

Comments

Projects
None yet
2 participants
@RobertBColton
Collaborator

RobertBColton commented Sep 6, 2013

The effects frame is not implemented and neither is undo or redo or middle mouse pan. The zoom buttons work fine but sometimes the one that lets you right and left click which is supposed to implement middle mouse pan as well, it doesn't really scale right.

Missing features:

  • Undo/Redo manager
  • Effects Frame
  • Middle Mouse Pan
  • Keyboard shortcuts for zoom CTRL +, -, = and possibly the numpad keys as @TheSpiritXIII says GIMP has.
  • The new image dialog could focus the width field by default but to do this I need to make a generic AncestorListener. Would be nice to also make the dialog a utility method since the code is basically the same for both editors.
  • Both editors could set the zoom level automatically when opening based on image size, so really tiny images don't open where you can't see them immediately.
@IsmAvatar

This comment has been minimized.

Show comment
Hide comment
@IsmAvatar

IsmAvatar Sep 6, 2013

Owner

This may be considered a feature request. If we have non-functional buttons, though, they may either be implemented or disabled/removed.

Owner

IsmAvatar commented Sep 6, 2013

This may be considered a feature request. If we have non-functional buttons, though, they may either be implemented or disabled/removed.

@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Sep 6, 2013

Collaborator

No, I want to take an abstract approach to this and merge JEIE into the background and sprite editor, so it is all one interface. But I don't know how to set up JEIE and never have, nor has anyone else I believe. Game Maker and Studio's clusterfuck of an interface for painting simple images is grotesque mine is beautiful...

http://s22.postimg.org/u1sbkk2ts/spriteeditor.jpg

http://s14.postimg.org/kikqzs5gg/backgroundeditor.jpg

All you gotta do is add the painting tools to a right panel like we do for drag and drop actions. And allow me to reiterate again I am against even having an image editor, the free ones are best anyway.

Collaborator

RobertBColton commented Sep 6, 2013

No, I want to take an abstract approach to this and merge JEIE into the background and sprite editor, so it is all one interface. But I don't know how to set up JEIE and never have, nor has anyone else I believe. Game Maker and Studio's clusterfuck of an interface for painting simple images is grotesque mine is beautiful...

http://s22.postimg.org/u1sbkk2ts/spriteeditor.jpg

http://s14.postimg.org/kikqzs5gg/backgroundeditor.jpg

All you gotta do is add the painting tools to a right panel like we do for drag and drop actions. And allow me to reiterate again I am against even having an image editor, the free ones are best anyway.

@IsmAvatar

This comment has been minimized.

Show comment
Hide comment
@IsmAvatar

IsmAvatar Sep 6, 2013

Owner

I'm also greatly in favor of users picking their own image editor, rather than using the one we provide them, but for many, the in-built image editor is going to be an essential tool for the convenience and ease of use, which is why JEIE is sticking around (unless you can find a nice alternative that we can in-build).

As for your integrated image editor, looks like a cool idea that I should be able to get behind. I always felt like there were too many layers in the Sprite editor, so to simplify it all in one interface without turning it into a clusterfuck would be perfect. Just make sure you maintain the support for interactivity in defining the origin (and maybe even bounding box). That is, you can currently click to place the origin. You'll obviously be redefining click behavior for painting - so make sure there will still be a way to click-place the origin (or some other trick - as long as typing in the coordinates isn't the only option)

Owner

IsmAvatar commented Sep 6, 2013

I'm also greatly in favor of users picking their own image editor, rather than using the one we provide them, but for many, the in-built image editor is going to be an essential tool for the convenience and ease of use, which is why JEIE is sticking around (unless you can find a nice alternative that we can in-build).

As for your integrated image editor, looks like a cool idea that I should be able to get behind. I always felt like there were too many layers in the Sprite editor, so to simplify it all in one interface without turning it into a clusterfuck would be perfect. Just make sure you maintain the support for interactivity in defining the origin (and maybe even bounding box). That is, you can currently click to place the origin. You'll obviously be redefining click behavior for painting - so make sure there will still be a way to click-place the origin (or some other trick - as long as typing in the coordinates isn't the only option)

@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Sep 6, 2013

Collaborator

But I don't even know how to build JEIE, can you show me a picture of it?

Collaborator

RobertBColton commented Sep 6, 2013

But I don't even know how to build JEIE, can you show me a picture of it?

@IsmAvatar

This comment has been minimized.

Show comment
Hide comment
@IsmAvatar

IsmAvatar Sep 6, 2013

Owner

Just import it into Eclipse and run org/jeie/JEIE.java. I don't have a picture of it. (I also don't have Eclipse installed currently to take a picture of it). It's quite similar to MS Paint currently. Obviously, we're open to design proposals to make it prettier/easier/whatever, as long as they adhere to the core principle of being small and simple.

Owner

IsmAvatar commented Sep 6, 2013

Just import it into Eclipse and run org/jeie/JEIE.java. I don't have a picture of it. (I also don't have Eclipse installed currently to take a picture of it). It's quite similar to MS Paint currently. Obviously, we're open to design proposals to make it prettier/easier/whatever, as long as they adhere to the core principle of being small and simple.

@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Sep 6, 2013

Collaborator

Right, I can review that and come up with a design proposal at a later point in time, LateralGM has hit a rather really stable point in its development and I'd rather get these previous improvements of mine merged in first.

#89

This pull request is well overdue.

Collaborator

RobertBColton commented Sep 6, 2013

Right, I can review that and come up with a design proposal at a later point in time, LateralGM has hit a rather really stable point in its development and I'd rather get these previous improvements of mine merged in first.

#89

This pull request is well overdue.

@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Oct 9, 2014

Collaborator

@IsmAvatar I've fixed the main zoom tool as of 3b2b0fa

The calculation was wrong because I thought setting the view position was centered, or well I probably didn't think that I just wrote it that way. But also the scrollbars were being screwed up because the previewers were not actually updating their size, apparently that's necessary for the scrollbars to recognize a change in the preferred size of its child. I tried update and revalidate and all that jazz to no avail as well. Overriding the method for the sprite previewer broke rendering when zooming in, so I went for the next best thing and simply changed the size to the preferred size when the user changes the zoom. I tested extensively on both editors and can confirm it works great now.

The following tasks remain.

  • Undo/Redo manager
  • Effects Frame
  • Middle Mouse Pan
Collaborator

RobertBColton commented Oct 9, 2014

@IsmAvatar I've fixed the main zoom tool as of 3b2b0fa

The calculation was wrong because I thought setting the view position was centered, or well I probably didn't think that I just wrote it that way. But also the scrollbars were being screwed up because the previewers were not actually updating their size, apparently that's necessary for the scrollbars to recognize a change in the preferred size of its child. I tried update and revalidate and all that jazz to no avail as well. Overriding the method for the sprite previewer broke rendering when zooming in, so I went for the next best thing and simply changed the size to the preferred size when the user changes the zoom. I tested extensively on both editors and can confirm it works great now.

The following tasks remain.

  • Undo/Redo manager
  • Effects Frame
  • Middle Mouse Pan
@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Nov 30, 2014

Collaborator

@IsmAvatar Just an update here as of c2388c0 the image effects frame is basically working, though not entirely usable yet, still got quite a bit of coding to do, it is dynamic and new image effects can be plugged into the frame, I have 3 built in so far including Invert, Black and White, and Opacity.

Image Effects Frame

Collaborator

RobertBColton commented Nov 30, 2014

@IsmAvatar Just an update here as of c2388c0 the image effects frame is basically working, though not entirely usable yet, still got quite a bit of coding to do, it is dynamic and new image effects can be plugged into the frame, I have 3 built in so far including Invert, Black and White, and Opacity.

Image Effects Frame

@IsmAvatar

This comment has been minimized.

Show comment
Hide comment
@IsmAvatar

IsmAvatar Dec 1, 2014

Owner

Good idea, sure beats my silly menu items.

Owner

IsmAvatar commented Dec 1, 2014

Good idea, sure beats my silly menu items.

@RobertBColton

This comment has been minimized.

Show comment
Hide comment
@RobertBColton

RobertBColton Dec 4, 2014

Collaborator

@IsmAvatar As of c45c1aa the effects frame is essentially completed with 12 effects in total. This took me so long because I wanted to make sure I did it really well and I did not have the skills to pull this off before.

Remove color, fade color, remove transparency, opacity, emboss, edge detection, invert, colorize, intensity, sharpen, blur, and black and white are the included effects.

Undo/redo has not be implemented to the sprite or background frame but you can revert the effects when you exit out of the frame.

@IsmAvatar Currently once you open the effects frame on an MDI frame that is the attached listener until it is closed and reopened on the other MDI frame. My other idea was to take the top level MDI frame and if it implements EffectsFrameListener then inform it, this would allow you to keep the image effects frame open and use it between multiple MDI frames without having to close and reopen it. Do you think we should look at doing this down the road?

Remove Color Tolerance
Hue Saturation Value

Collaborator

RobertBColton commented Dec 4, 2014

@IsmAvatar As of c45c1aa the effects frame is essentially completed with 12 effects in total. This took me so long because I wanted to make sure I did it really well and I did not have the skills to pull this off before.

Remove color, fade color, remove transparency, opacity, emboss, edge detection, invert, colorize, intensity, sharpen, blur, and black and white are the included effects.

Undo/redo has not be implemented to the sprite or background frame but you can revert the effects when you exit out of the frame.

@IsmAvatar Currently once you open the effects frame on an MDI frame that is the attached listener until it is closed and reopened on the other MDI frame. My other idea was to take the top level MDI frame and if it implements EffectsFrameListener then inform it, this would allow you to keep the image effects frame open and use it between multiple MDI frames without having to close and reopen it. Do you think we should look at doing this down the road?

Remove Color Tolerance
Hue Saturation Value

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment