/*
JWildfire - an image and animation processor written in Java
Copyright (C) 1995-2016 Andreas Maschke
This is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser
General Public License as published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
This software is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without
even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this software;
if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jwildfire.create.tina.swing;
import java.awt.BorderLayout;
import java.awt.Component;
import java.awt.Dimension;
import java.awt.FlowLayout;
import java.awt.Font;
import java.awt.Point;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.event.ItemEvent;
import java.awt.event.ItemListener;
import java.awt.event.KeyEvent;
import javax.swing.BoxLayout;
import javax.swing.JButton;
import javax.swing.JComboBox;
import javax.swing.JInternalFrame;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JScrollPane;
import javax.swing.JSplitPane;
import javax.swing.JTextArea;
import javax.swing.JToggleButton;
import javax.swing.WindowConstants;
import javax.swing.border.EmptyBorder;
import javax.swing.border.TitledBorder;
import org.jwildfire.base.Prefs;
import org.jwildfire.swing.JWildfire;
public class FlamesGPURenderInternalFrame extends JInternalFrame {
private TinaController tinaController; // @jve:decl-index=0:
private JPanel jContentPane = null; // @jve:decl-index=0:visual-constraint="10,10"
private JPanel interactiveRenderPanel = null;
public FlamesGPURenderInternalFrame() {
super();
initialize();
}
/**
* This method initializes this
*
* @return void
*/
private void initialize() {
this.setSize(917, 600);
this.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10));
this.setLocation(new Point(JWildfire.DEFAULT_WINDOW_LEFT + 200, JWildfire.DEFAULT_WINDOW_TOP + 80));
this.setClosable(true);
this.setDefaultCloseOperation(WindowConstants.HIDE_ON_CLOSE);
this.setIconifiable(true);
this.setTitle("GPU renderer");
this.setVisible(false);
this.setResizable(true);
this.setMaximizable(false);
this.setContentPane(getJContentPane());
}
/**
* This method initializes jContentPane
*
* @return javax.swing.JPanel
*/
private JPanel getJContentPane() {
if (jContentPane == null) {
jContentPane = new JPanel();
jContentPane.setLayout(new BorderLayout());
jContentPane.setFont(Prefs.getPrefs().getFont("Dialog", Font.PLAIN, 10));
jContentPane.setSize(new Dimension(1097, 617));
jContentPane.add(getInteractiveRenderPanel(), BorderLayout.CENTER);
}
return jContentPane;
}
/**
* This method initializes settingsPanel
*
* @return javax.swing.JPanel
*/
private JPanel getInteractiveRenderPanel() {
if (interactiveRenderPanel == null) {
interactiveRenderPanel = new JPanel();
interactiveRenderPanel.setLayout(new BorderLayout(0, 0));
interactiveRenderPanel.add(getInteractiveNorthPanel(), BorderLayout.SOUTH);
interactiveRenderPanel.add(getInteractiveWestPanel(), BorderLayout.WEST);
interactiveRenderPanel.add(getInteractiveEastPanel(), BorderLayout.EAST);
interactiveRenderPanel.add(getInteractiveCenterPanel(), BorderLayout.CENTER);
}
return interactiveRenderPanel;
}
private JPanel interactiveNorthPanel;
private JPanel interactiveWestPanel;
private JPanel interactiveEastPanel;
private JPanel interactiveCenterPanel;
private JButton interactiveLoadFlameFromClipboardButton;
private JButton interactiveLoadFlameButton;
private JButton interactiveFlameToClipboardButton;
private JButton interactiveSaveFlameButton;
private JButton interactiveSaveImageButton;
private JSplitPane interactiveCenterSplitPane;
private JPanel interactiveCenterTopPanel;
private JPanel interactiveCenterSouthPanel;
private JScrollPane interactiveStatsScrollPane;
private JTextArea interactiveStatsTextArea;
private JToggleButton interactiveHalfSizeButton;
private JComboBox interactiveResolutionProfileCmb;
private JComboBox interactiveQualityProfileCmb;
private JButton interactiveFlameToEditorButton;
private JButton interactiveLoadFlameFromMainButton;
private JLabel label_1;
private JLabel label_2;
private JPanel panel_27;
private JPanel panel_28;
private JPanel panel_29;
private JPanel panel_36;
private JPanel panel_37;
private JPanel panel_32;
private JPanel panel_33;
private JPanel panel_34;
private JPanel panel_35;
private JPanel panel_17;
private JPanel panel_110;
private JToggleButton interactiveFullSizeButton;
private JToggleButton interactiveQuarterSizeButton;
private JPanel panel;
private JButton interactiveSaveZBufferButton;
private JLabel lblGpuRenderInfo;
private JPanel getInteractiveNorthPanel() {
if (interactiveNorthPanel == null) {
interactiveNorthPanel = new JPanel();
interactiveNorthPanel.setBorder(new EmptyBorder(5, 5, 0, 0));
interactiveNorthPanel.setPreferredSize(new Dimension(0, 86));
interactiveNorthPanel.setSize(new Dimension(0, 42));
interactiveNorthPanel.setLayout(new BoxLayout(interactiveNorthPanel, BoxLayout.X_AXIS));
interactiveNorthPanel.add(getPanel_27());
interactiveNorthPanel.add(getPanel_17());
interactiveNorthPanel.add(getPanel_28());
interactiveNorthPanel.add(getPanel_32());
interactiveNorthPanel.add(getPanel_33());
interactiveNorthPanel.add(getPanel_34());
interactiveNorthPanel.add(getPanel_35());
}
return interactiveNorthPanel;
}
private JPanel getInteractiveWestPanel() {
if (interactiveWestPanel == null) {
interactiveWestPanel = new JPanel();
interactiveWestPanel.setSize(new Dimension(8, 0));
interactiveWestPanel.setPreferredSize(new Dimension(8, 0));
interactiveWestPanel.setLayout(new BorderLayout(0, 0));
}
return interactiveWestPanel;
}
private JPanel getInteractiveEastPanel() {
if (interactiveEastPanel == null) {
interactiveEastPanel = new JPanel();
interactiveEastPanel.setSize(new Dimension(8, 0));
interactiveEastPanel.setPreferredSize(new Dimension(8, 0));
interactiveEastPanel.setLayout(new FlowLayout(FlowLayout.LEADING, 8, 8));
}
return interactiveEastPanel;
}
private JPanel getInteractiveCenterPanel() {
if (interactiveCenterPanel == null) {
interactiveCenterPanel = new JPanel();
interactiveCenterPanel.setLayout(new BorderLayout(0, 0));
interactiveCenterPanel.add(getInteractiveCenterSplitPane(), BorderLayout.CENTER);
}
return interactiveCenterPanel;
}
JButton getInteractiveLoadFlameFromClipboardButton() {
if (interactiveLoadFlameFromClipboardButton == null) {
interactiveLoadFlameFromClipboardButton = new JButton();
interactiveLoadFlameFromClipboardButton.setMinimumSize(new Dimension(100, 24));
interactiveLoadFlameFromClipboardButton.setMaximumSize(new Dimension(32000, 24));
interactiveLoadFlameFromClipboardButton.setToolTipText("Load flame from clipboard and render");
interactiveLoadFlameFromClipboardButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().fromClipboardButton_clicked();
}
});
interactiveLoadFlameFromClipboardButton.setText("From Clipboard");
interactiveLoadFlameFromClipboardButton.setPreferredSize(new Dimension(125, 24));
interactiveLoadFlameFromClipboardButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return interactiveLoadFlameFromClipboardButton;
}
JButton getInteractiveLoadFlameButton() {
if (interactiveLoadFlameButton == null) {
interactiveLoadFlameButton = new JButton();
interactiveLoadFlameButton.setMinimumSize(new Dimension(100, 24));
interactiveLoadFlameButton.setMaximumSize(new Dimension(32000, 24));
interactiveLoadFlameButton.setToolTipText("Load flame from file and render");
interactiveLoadFlameButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().loadFlameButton_clicked();
}
});
interactiveLoadFlameButton.setText("Load Flame");
interactiveLoadFlameButton.setPreferredSize(new Dimension(125, 24));
interactiveLoadFlameButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return interactiveLoadFlameButton;
}
JButton getInteractiveFlameToClipboardButton() {
if (interactiveFlameToClipboardButton == null) {
interactiveFlameToClipboardButton = new JButton();
interactiveFlameToClipboardButton.setMinimumSize(new Dimension(100, 24));
interactiveFlameToClipboardButton.setMaximumSize(new Dimension(32000, 24));
interactiveFlameToClipboardButton.setToolTipText("Copy the current fractal into the clipboard");
interactiveFlameToClipboardButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().toClipboardButton_clicked();
}
});
interactiveFlameToClipboardButton.setText("To Clipboard");
interactiveFlameToClipboardButton.setPreferredSize(new Dimension(125, 24));
interactiveFlameToClipboardButton.setMnemonic(KeyEvent.VK_D);
interactiveFlameToClipboardButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return interactiveFlameToClipboardButton;
}
JButton getInteractiveSaveFlameButton() {
if (interactiveSaveFlameButton == null) {
interactiveSaveFlameButton = new JButton();
interactiveSaveFlameButton.setMinimumSize(new Dimension(100, 24));
interactiveSaveFlameButton.setMaximumSize(new Dimension(32000, 24));
interactiveSaveFlameButton.setToolTipText("Save the current fractal");
interactiveSaveFlameButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().saveFlameButton_clicked();
}
});
interactiveSaveFlameButton.setText("Save Flame");
interactiveSaveFlameButton.setPreferredSize(new Dimension(125, 24));
interactiveSaveFlameButton.setMnemonic(KeyEvent.VK_D);
interactiveSaveFlameButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return interactiveSaveFlameButton;
}
JButton getInteractiveSaveImageButton() {
if (interactiveSaveImageButton == null) {
interactiveSaveImageButton = new JButton();
interactiveSaveImageButton.setMinimumSize(new Dimension(100, 24));
interactiveSaveImageButton.setMaximumSize(new Dimension(160, 48));
interactiveSaveImageButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().saveImageButton_clicked();
}
});
interactiveSaveImageButton.setText("Save image");
interactiveSaveImageButton.setPreferredSize(new Dimension(125, 48));
interactiveSaveImageButton.setMnemonic(KeyEvent.VK_I);
interactiveSaveImageButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return interactiveSaveImageButton;
}
private JSplitPane getInteractiveCenterSplitPane() {
if (interactiveCenterSplitPane == null) {
interactiveCenterSplitPane = new JSplitPane();
interactiveCenterSplitPane.setDividerSize(6);
interactiveCenterSplitPane.setLeftComponent(getInteractiveCenterSouthPanel());
interactiveCenterSplitPane.setRightComponent(getInteractiveCenterTopPanel());
interactiveCenterSplitPane.setDividerLocation(200);
}
return interactiveCenterSplitPane;
}
JPanel getInteractiveCenterTopPanel() {
if (interactiveCenterTopPanel == null) {
interactiveCenterTopPanel = new JPanel();
interactiveCenterTopPanel.setBorder(new TitledBorder(null, "GPU render result", TitledBorder.LEADING, TitledBorder.TOP, null, null));
interactiveCenterTopPanel.setLayout(new BorderLayout(0, 0));
}
return interactiveCenterTopPanel;
}
private JPanel getInteractiveCenterSouthPanel() {
if (interactiveCenterSouthPanel == null) {
interactiveCenterSouthPanel = new JPanel();
interactiveCenterSouthPanel.setLayout(new BorderLayout(0, 0));
interactiveCenterSouthPanel.add(getInteractiveStatsScrollPane(), BorderLayout.CENTER);
}
return interactiveCenterSouthPanel;
}
private JScrollPane getInteractiveStatsScrollPane() {
if (interactiveStatsScrollPane == null) {
interactiveStatsScrollPane = new JScrollPane();
interactiveStatsScrollPane.setViewportView(getInteractiveStatsTextArea());
interactiveStatsScrollPane.setColumnHeaderView(getPanel_110());
}
return interactiveStatsScrollPane;
}
JTextArea getInteractiveStatsTextArea() {
if (interactiveStatsTextArea == null) {
interactiveStatsTextArea = new JTextArea();
interactiveStatsTextArea.setEditable(false);
}
return interactiveStatsTextArea;
}
public JToggleButton getInteractiveHalveSizeButton() {
return interactiveHalfSizeButton;
}
JComboBox getInteractiveResolutionProfileCmb() {
if (interactiveResolutionProfileCmb == null) {
interactiveResolutionProfileCmb = new JComboBox();
interactiveResolutionProfileCmb.setMaximumSize(new Dimension(32767, 24));
interactiveResolutionProfileCmb.setMinimumSize(new Dimension(100, 24));
interactiveResolutionProfileCmb.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (tinaController != null && tinaController.getGpuRendererCtrl() != null) {
tinaController.getGpuRendererCtrl().resolutionProfile_changed();
}
}
});
interactiveResolutionProfileCmb.setPreferredSize(new Dimension(125, 24));
interactiveResolutionProfileCmb.setMaximumRowCount(32);
interactiveResolutionProfileCmb.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return interactiveResolutionProfileCmb;
}
JComboBox getInteractiveQualityProfileCmb() {
if (interactiveQualityProfileCmb == null) {
interactiveQualityProfileCmb = new JComboBox();
interactiveQualityProfileCmb.setMaximumSize(new Dimension(32767, 24));
interactiveQualityProfileCmb.setMinimumSize(new Dimension(100, 24));
interactiveQualityProfileCmb.addItemListener(new ItemListener() {
public void itemStateChanged(ItemEvent e) {
if (tinaController != null && tinaController.getGpuRendererCtrl() != null) {
tinaController.getGpuRendererCtrl().qualityProfile_changed();
}
}
});
interactiveQualityProfileCmb.setPreferredSize(new Dimension(125, 24));
interactiveQualityProfileCmb.setMaximumRowCount(32);
interactiveQualityProfileCmb.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return interactiveQualityProfileCmb;
}
public JButton getInteractiveFlameToEditorButton() {
return interactiveFlameToEditorButton;
}
public JButton getInteractiveLoadFlameFromMainButton() {
return interactiveLoadFlameFromMainButton;
}
private JLabel getLabel_1() {
if (label_1 == null) {
label_1 = new JLabel();
label_1.setMinimumSize(new Dimension(80, 22));
label_1.setText("Resolution");
label_1.setPreferredSize(new Dimension(62, 22));
label_1.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return label_1;
}
private JLabel getLabel_2() {
if (label_2 == null) {
label_2 = new JLabel();
label_2.setMinimumSize(new Dimension(80, 22));
label_2.setText("Quality");
label_2.setPreferredSize(new Dimension(62, 22));
label_2.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
}
return label_2;
}
private JPanel getPanel_27() {
if (panel_27 == null) {
panel_27 = new JPanel();
panel_27.setBorder(new EmptyBorder(0, 6, 0, 6));
panel_27.setMinimumSize(new Dimension(110, 10));
panel_27.setMaximumSize(new Dimension(150, 32767));
panel_27.setLayout(new BoxLayout(panel_27, BoxLayout.Y_AXIS));
interactiveLoadFlameFromMainButton = new JButton();
panel_27.add(interactiveLoadFlameFromMainButton);
interactiveLoadFlameFromMainButton.setMaximumSize(new Dimension(32000, 24));
interactiveLoadFlameFromMainButton.setMinimumSize(new Dimension(100, 24));
interactiveLoadFlameFromMainButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().fromEditorButton_clicked();
}
});
interactiveLoadFlameFromMainButton.setToolTipText("Load flame from Editor and render");
interactiveLoadFlameFromMainButton.setText("From Editor");
interactiveLoadFlameFromMainButton.setPreferredSize(new Dimension(125, 24));
interactiveLoadFlameFromMainButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
panel_27.add(getInteractiveLoadFlameFromClipboardButton());
panel_27.add(getInteractiveLoadFlameButton());
}
return panel_27;
}
private JPanel getPanel_28() {
if (panel_28 == null) {
panel_28 = new JPanel();
panel_28.setBorder(new EmptyBorder(0, 6, 0, 6));
panel_28.setMaximumSize(new Dimension(250, 32767));
panel_28.setMinimumSize(new Dimension(200, 10));
panel_28.setLayout(new BoxLayout(panel_28, BoxLayout.Y_AXIS));
panel_28.add(getPanel_36());
panel_28.add(getPanel_29());
panel_28.add(getPanel_37());
}
return panel_28;
}
private JPanel getPanel_29() {
if (panel_29 == null) {
panel_29 = new JPanel();
panel_29.setLayout(new BoxLayout(panel_29, BoxLayout.X_AXIS));
panel_29.add(getLabel_1());
panel_29.add(getInteractiveResolutionProfileCmb());
}
return panel_29;
}
private JPanel getPanel_37() {
if (panel_37 == null) {
panel_37 = new JPanel();
panel_37.setLayout(new BoxLayout(panel_37, BoxLayout.X_AXIS));
panel_37.add(getLabel_2());
panel_37.add(getInteractiveQualityProfileCmb());
}
return panel_37;
}
private JPanel getPanel_36() {
if (panel_36 == null) {
panel_36 = new JPanel();
panel_36.setLayout(new BoxLayout(panel_36, BoxLayout.X_AXIS));
interactiveHalfSizeButton = new JToggleButton();
panel_36.add(interactiveHalfSizeButton);
interactiveHalfSizeButton.setMinimumSize(new Dimension(48, 24));
interactiveHalfSizeButton.setMaximumSize(new Dimension(32000, 24));
interactiveHalfSizeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().halveRenderSizeButton_clicked();
}
});
interactiveHalfSizeButton.setToolTipText("Switch to half render resolution");
interactiveHalfSizeButton.setText("1:2");
interactiveHalfSizeButton.setPreferredSize(new Dimension(48, 24));
interactiveHalfSizeButton.setMnemonic(KeyEvent.VK_M);
interactiveHalfSizeButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
panel_36.add(getInteractiveQuarterSizeButton());
panel_36.add(getInteractiveFullSizeButton());
}
return panel_36;
}
JPanel getPanel_32() {
if (panel_32 == null) {
panel_32 = new JPanel();
panel_32.setBorder(new EmptyBorder(0, 11, 9, 11));
panel_32.setMinimumSize(new Dimension(200, 10));
panel_32.setMaximumSize(new Dimension(250, 32767));
panel_32.setLayout(new BorderLayout(0, 0));
}
return panel_32;
}
private JPanel getPanel_34() {
if (panel_34 == null) {
panel_34 = new JPanel();
panel_34.setBorder(new EmptyBorder(0, 11, 9, 11));
panel_34.setMinimumSize(new Dimension(200, 10));
panel_34.setMaximumSize(new Dimension(250, 32767));
panel_34.setLayout(new BoxLayout(panel_34, BoxLayout.Y_AXIS));
}
return panel_34;
}
private JPanel getPanel_33() {
if (panel_33 == null) {
panel_33 = new JPanel();
panel_33.setAlignmentX(Component.LEFT_ALIGNMENT);
panel_33.setBorder(new EmptyBorder(0, 3, 0, 3));
panel_33.setMaximumSize(new Dimension(150, 32767));
panel_33.setLayout(new BoxLayout(panel_33, BoxLayout.Y_AXIS));
panel_33.add(getPanel());
}
return panel_33;
}
private JPanel getPanel_35() {
if (panel_35 == null) {
panel_35 = new JPanel();
panel_35.setBorder(new EmptyBorder(0, 3, 0, 16));
panel_35.setMaximumSize(new Dimension(150, 32767));
panel_35.setLayout(new BoxLayout(panel_35, BoxLayout.Y_AXIS));
interactiveFlameToEditorButton = new JButton();
panel_35.add(interactiveFlameToEditorButton);
interactiveFlameToEditorButton.setMinimumSize(new Dimension(100, 24));
interactiveFlameToEditorButton.setMaximumSize(new Dimension(32000, 24));
interactiveFlameToEditorButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().toEditorButton_clicked();
}
});
interactiveFlameToEditorButton.setToolTipText("Copy the current fractal into the Editor");
interactiveFlameToEditorButton.setText("To Editor");
interactiveFlameToEditorButton.setPreferredSize(new Dimension(125, 24));
interactiveFlameToEditorButton.setMnemonic(KeyEvent.VK_D);
interactiveFlameToEditorButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
panel_35.add(getInteractiveFlameToClipboardButton());
panel_35.add(getInteractiveSaveFlameButton());
}
return panel_35;
}
private JPanel getPanel_17() {
if (panel_17 == null) {
panel_17 = new JPanel();
panel_17.setMinimumSize(new Dimension(110, 10));
panel_17.setMaximumSize(new Dimension(150, 32767));
panel_17.setLayout(new BoxLayout(panel_17, BoxLayout.X_AXIS));
}
return panel_17;
}
private JPanel getPanel_110() {
if (panel_110 == null) {
panel_110 = new JPanel();
panel_110.setPreferredSize(new Dimension(10, 24));
panel_110.setLayout(null);
lblGpuRenderInfo = new JLabel();
lblGpuRenderInfo.setText("GPU render info");
lblGpuRenderInfo.setPreferredSize(new Dimension(62, 22));
lblGpuRenderInfo.setMinimumSize(new Dimension(80, 22));
lblGpuRenderInfo.setFont(new Font("Dialog", Font.BOLD, 10));
lblGpuRenderInfo.setBounds(6, 4, 181, 14);
panel_110.add(lblGpuRenderInfo);
}
return panel_110;
}
public void setTinaController(TinaController tinaController) {
this.tinaController = tinaController;
}
public JToggleButton getInteractiveFullSizeButton() {
if (interactiveFullSizeButton == null) {
interactiveFullSizeButton = new JToggleButton();
interactiveFullSizeButton.setSelected(true);
interactiveFullSizeButton.setToolTipText("Switch to full render resolution");
interactiveFullSizeButton.setText("Full");
interactiveFullSizeButton.setPreferredSize(new Dimension(48, 24));
interactiveFullSizeButton.setMnemonic(KeyEvent.VK_M);
interactiveFullSizeButton.setMinimumSize(new Dimension(48, 24));
interactiveFullSizeButton.setMaximumSize(new Dimension(32000, 24));
interactiveFullSizeButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
interactiveFullSizeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().fullRenderSizeButton_clicked();
}
});
}
return interactiveFullSizeButton;
}
public JToggleButton getInteractiveQuarterSizeButton() {
if (interactiveQuarterSizeButton == null) {
interactiveQuarterSizeButton = new JToggleButton();
interactiveQuarterSizeButton.setToolTipText("Switch to quarter render resolution");
interactiveQuarterSizeButton.setText("1:4");
interactiveQuarterSizeButton.setPreferredSize(new Dimension(48, 24));
interactiveQuarterSizeButton.setMnemonic(KeyEvent.VK_M);
interactiveQuarterSizeButton.setMinimumSize(new Dimension(48, 24));
interactiveQuarterSizeButton.setMaximumSize(new Dimension(32000, 24));
interactiveQuarterSizeButton.setFont(Prefs.getPrefs().getFont("Dialog", Font.BOLD, 10));
interactiveQuarterSizeButton.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent e) {
tinaController.getGpuRendererCtrl().quarterRenderSizeButton_clicked();
}
});
}
return interactiveQuarterSizeButton;
}
private JPanel getPanel() {
if (panel == null) {
panel = new JPanel();
panel.setAlignmentX(Component.LEFT_ALIGNMENT);
panel.setLayout(new BoxLayout(panel, BoxLayout.X_AXIS));
panel.add(getInteractiveSaveImageButton());
}
return panel;
}
public JLabel getLblGpuRenderInfo() {
return lblGpuRenderInfo;
}
}