|
4 | 4 | import pekase3.filefilters.ImageFilter; |
5 | 5 | import pekase3.listener.UnsavedChangesListener; |
6 | 6 | import pekase3.panels.PekaSE2Panel; |
| 7 | +import pekase3.panels.animation.AnimationsEditPanel; |
7 | 8 | import pekase3.panels.imagepanel.spritesheetpanel.SpriteSheetPanel; |
8 | 9 | import pekase3.panels.imagepanel.spritesheetpanel.FrameEditMode.*; |
9 | 10 | import pekase3.panels.spriteeditpane.SpriteEditPaneModel; |
|
14 | 15 |
|
15 | 16 | import org.tinylog.Logger; |
16 | 17 |
|
17 | | -import javax.imageio.ImageIO; |
18 | 18 | import javax.swing.*; |
19 | 19 | import java.awt.*; |
20 | 20 | import java.awt.image.BufferedImage; |
@@ -54,9 +54,13 @@ public class ImagePanel extends PekaSE2Panel { |
54 | 54 | private JToggleButton lastSelectedButton; |
55 | 55 |
|
56 | 56 | private SpriteProfile profile; |
| 57 | + private PK2Sprite sprite; |
| 58 | + |
| 59 | + private final AnimationsEditPanel animationPanel; |
57 | 60 |
|
58 | | - public ImagePanel(SpriteEditPaneModel spriteModel) { |
59 | | - this.spriteEditModel = spriteModel; |
| 61 | + public ImagePanel(SpriteEditPaneModel spriteModel, AnimationsEditPanel animationPanel) { |
| 62 | + this.spriteEditModel = spriteModel; |
| 63 | + this.animationPanel = animationPanel; |
60 | 64 | setup(); |
61 | 65 | } |
62 | 66 |
|
@@ -286,7 +290,8 @@ public void mousePressed(MouseEvent e) { |
286 | 290 | } |
287 | 291 |
|
288 | 292 | @Override |
289 | | - public void setSprite(PK2Sprite sprite) { |
| 293 | + public void setSprite(PK2Sprite sprite) { |
| 294 | + this.sprite = sprite; |
290 | 295 | tfImage.setText(sprite.getImageFile()); |
291 | 296 |
|
292 | 297 | this.image = sprite.getImage(); |
@@ -393,12 +398,14 @@ private void loadImage(File file, boolean resetFrameData) { |
393 | 398 | this.image = null; |
394 | 399 |
|
395 | 400 | try { |
396 | | - this.image = ImageIO.read(file); |
397 | | - this.image = GFXUtils.makeTransparent(this.image); |
398 | 401 |
|
399 | | - //spriteEditModel.setSpriteImage(this.image); |
400 | | - spriteSheetPanel.setImage(this.image, resetFrameData); |
401 | | - //pnlBorderColor.setBackground(spriteSheetPanel.getBorderColor()); |
| 402 | + this.sprite.setImageFile(file.getName()); |
| 403 | + GFXUtils.loadSpriteImageSheet(this.sprite, file); |
| 404 | + this.spriteSheetPanel.setImage(this.sprite.getImage(), resetFrameData); |
| 405 | + |
| 406 | + this.animationPanel.setSprite(this.sprite); //To update sprite animations |
| 407 | + |
| 408 | + |
402 | 409 | } catch (IOException ex) { |
403 | 410 | Logger.warn(ex); |
404 | 411 | } |
|
0 commit comments