Crossfire JXClient, Trunk
GUIPicture.java
Go to the documentation of this file.
1 /*
2  * This file is part of JXClient, the Fullscreen Java Crossfire Client.
3  *
4  * JXClient is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License as published by
6  * the Free Software Foundation; either version 2 of the License, or
7  * (at your option) any later version.
8  *
9  * JXClient is distributed in the hope that it will be useful,
10  * but WITHOUT ANY WARRANTY; without even the implied warranty of
11  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12  * GNU General Public License for more details.
13  *
14  * You should have received a copy of the GNU General Public License
15  * along with JXClient; if not, write to the Free Software
16  * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
17  *
18  * Copyright (C) 2005-2008 Yann Chachkoff
19  * Copyright (C) 2006-2017,2019-2023 Andreas Kirschbaum
20  * Copyright (C) 2010-2012,2014-2018,2020-2023 Nicolas Weeger
21  */
22 
23 package com.realtime.crossfire.jxclient.gui.misc;
24 
30 import java.awt.Dimension;
31 import java.awt.Graphics;
32 import java.awt.Image;
33 import java.awt.Transparency;
34 import java.awt.image.BufferedImage;
35 import org.jetbrains.annotations.NotNull;
36 import org.jetbrains.annotations.Nullable;
37 
42 public class GUIPicture extends AbstractGUIElement {
43 
47  private static final long serialVersionUID = 1;
48 
52  @NotNull
53  private final Image image;
54 
58  @NotNull
59  private final String tooltipText;
60 
64  @NotNull
65  private final Dimension preferredSize;
66 
79  public GUIPicture(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, @NotNull final BufferedImage image, final float alpha, final int preferredWidth, final int preferredHeight, @NotNull final GuiFactory guiFactory, @NotNull final String tooltipText) {
80  super(tooltipManager, elementListener, name, alpha >= 1.0F && image.getTransparency() == Transparency.OPAQUE, guiFactory);
81  this.image = image;
82  this.tooltipText = tooltipText;
83  preferredSize = new Dimension(preferredWidth, preferredHeight);
84  }
85 
86  @Override
87  public void paintComponent(@NotNull final Graphics g) {
88  super.paintComponent(g);
89  g.drawImage(image, 0, 0, null);
90  }
91 
92  @NotNull
93  @Override
94  @SuppressWarnings("MethodDoesntCallSuperMethod")
95  public Dimension getPreferredSize() {
96  return new Dimension(preferredSize);
97  }
98 
99  @NotNull
100  @Override
101  @SuppressWarnings("MethodDoesntCallSuperMethod")
102  public Dimension getMinimumSize() {
103  return new Dimension(preferredSize);
104  }
105 
106  @NotNull
107  @Override
108  @SuppressWarnings("MethodDoesntCallSuperMethod")
109  public Dimension getMaximumSize() {
110  return new Dimension(preferredSize);
111  }
112 
113  @Override
114  public void notifyOpen() {
115  }
116 
117  @Nullable
118  @Override
120  return newTooltipText(tooltipText);
121  }
122 
123 }
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.newTooltipText
TooltipText newTooltipText(@Nullable final String tooltipText)
Definition: AbstractGUIElement.java:247
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.name
final String name
Definition: AbstractGUIElement.java:77
com.realtime.crossfire.jxclient
com.realtime.crossfire.jxclient.skin.skin
Definition: DefaultJXCSkin.java:23
com.realtime.crossfire.jxclient.skin
com.realtime.crossfire.jxclient.skin.skin.GuiFactory
Definition: GuiFactory.java:41
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.getTooltip
TooltipText getTooltip()
Definition: GUIPicture.java:119
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.notifyOpen
void notifyOpen()
Definition: GUIPicture.java:114
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.getMaximumSize
Dimension getMaximumSize()
Definition: GUIPicture.java:109
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.GUIPicture
GUIPicture(@NotNull final TooltipManager tooltipManager, @NotNull final GUIElementListener elementListener, @NotNull final String name, @NotNull final BufferedImage image, final float alpha, final int preferredWidth, final int preferredHeight, @NotNull final GuiFactory guiFactory, @NotNull final String tooltipText)
Definition: GUIPicture.java:79
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.getPreferredSize
Dimension getPreferredSize()
Definition: GUIPicture.java:95
com.realtime.crossfire.jxclient.gui
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.elementListener
final GUIElementListener elementListener
Definition: AbstractGUIElement.java:89
com.realtime.crossfire.jxclient.gui.gui.TooltipManager
Definition: TooltipManager.java:33
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.image
final Image image
Definition: GUIPicture.java:53
com.realtime.crossfire.jxclient.gui.gui
Definition: AbstractGUIElement.java:23
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.getMinimumSize
Dimension getMinimumSize()
Definition: GUIPicture.java:102
com.realtime.crossfire.jxclient.gui.gui.TooltipText
Definition: TooltipText.java:31
com.realtime.crossfire
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.serialVersionUID
static final long serialVersionUID
Definition: GUIPicture.java:47
com.realtime
com
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.paintComponent
void paintComponent(@NotNull final Graphics g)
Definition: GUIPicture.java:87
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.tooltipText
final String tooltipText
Definition: GUIPicture.java:59
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement
Definition: AbstractGUIElement.java:37
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.guiFactory
final GuiFactory guiFactory
Definition: AbstractGUIElement.java:48
com.realtime.crossfire.jxclient.gui.misc.GUIPicture.preferredSize
final Dimension preferredSize
Definition: GUIPicture.java:65
com.realtime.crossfire.jxclient.gui.misc.GUIPicture
Definition: GUIPicture.java:42
com.realtime.crossfire.jxclient.gui.gui.GUIElementListener
Definition: GUIElementListener.java:32
com.realtime.crossfire.jxclient.gui.gui.AbstractGUIElement.tooltipManager
final TooltipManager tooltipManager
Definition: AbstractGUIElement.java:83