1 /*****************************************************************************
2 * VLCVideoEffectsWindowController.h: MacOS X interface module
3 *****************************************************************************
4 * Copyright (C) 2011-2015 Felix Paul Kühne
7 * Authors: Felix Paul Kühne <fkuehne -at- videolan -dot- org>
9 * This program is free software; you can redistribute it and/or modify
10 * it under the terms of the GNU General Public License as published by
11 * the Free Software Foundation; either version 2 of the License, or
12 * (at your option) any later version.
14 * This program is distributed in the hope that it will be useful,
15 * but WITHOUT ANY WARRANTY; without even the implied warranty of
16 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17 * GNU General Public License for more details.
19 * You should have received a copy of the GNU General Public License
20 * along with this program; if not, write to the Free Software
21 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA.
22 *****************************************************************************/
24 #import <Cocoa/Cocoa.h>
26 @
class VLCPopupPanelController
;
27 @
class VLCTextfieldPanelController
;
29 @interface VLCVideoEffectsWindowController
: NSWindowController
32 @
property (readwrite
, weak
) IBOutlet NSTabView
*tabView
;
33 @
property (readwrite
, weak
) IBOutlet NSPopUpButton
*profilePopup
;
36 @
property (readwrite
, weak
) IBOutlet NSButton
*adjustCheckbox
;
37 @
property (readwrite
, weak
) IBOutlet NSTextField
*adjustHueLabel
;
38 @
property (readwrite
, weak
) IBOutlet NSSlider
*adjustHueSlider
;
39 @
property (readwrite
, weak
) IBOutlet NSTextField
*adjustContrastLabel
;
40 @
property (readwrite
, weak
) IBOutlet NSSlider
*adjustContrastSlider
;
41 @
property (readwrite
, weak
) IBOutlet NSTextField
*adjustBrightnessLabel
;
42 @
property (readwrite
, weak
) IBOutlet NSSlider
*adjustBrightnessSlider
;
43 @
property (readwrite
, weak
) IBOutlet NSButton
*adjustBrightnessCheckbox
;
44 @
property (readwrite
, weak
) IBOutlet NSTextField
*adjustSaturationLabel
;
45 @
property (readwrite
, weak
) IBOutlet NSSlider
*adjustSaturationSlider
;
46 @
property (readwrite
, weak
) IBOutlet NSTextField
*adjustGammaLabel
;
47 @
property (readwrite
, weak
) IBOutlet NSSlider
*adjustGammaSlider
;
48 @
property (readwrite
, weak
) IBOutlet NSButton
*adjustResetButton
;
49 @
property (readwrite
, weak
) IBOutlet NSButton
*sharpenCheckbox
;
50 @
property (readwrite
, weak
) IBOutlet NSTextField
*sharpenLabel
;
51 @
property (readwrite
, weak
) IBOutlet NSSlider
*sharpenSlider
;
52 @
property (readwrite
, weak
) IBOutlet NSButton
*bandingCheckbox
;
53 @
property (readwrite
, weak
) IBOutlet NSTextField
*bandingLabel
;
54 @
property (readwrite
, weak
) IBOutlet NSSlider
*bandingSlider
;
55 @
property (readwrite
, weak
) IBOutlet NSButton
*grainCheckbox
;
56 @
property (readwrite
, weak
) IBOutlet NSSlider
*grainSlider
;
57 @
property (readwrite
, weak
) IBOutlet NSTextField
*grainLabel
;
60 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropTopLabel
;
61 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropTopTextField
;
62 @
property (readwrite
, weak
) IBOutlet NSStepper
*cropTopStepper
;
63 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropLeftLabel
;
64 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropLeftTextField
;
65 @
property (readwrite
, weak
) IBOutlet NSStepper
*cropLeftStepper
;
66 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropRightLabel
;
67 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropRightTextField
;
68 @
property (readwrite
, weak
) IBOutlet NSStepper
*cropRightStepper
;
69 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropBottomLabel
;
70 @
property (readwrite
, weak
) IBOutlet NSTextField
*cropBottomTextField
;
71 @
property (readwrite
, weak
) IBOutlet NSStepper
*cropBottomStepper
;
72 @
property (readwrite
, weak
) IBOutlet NSButton
*cropSyncTopBottomCheckbox
;
73 @
property (readwrite
, weak
) IBOutlet NSButton
*cropSyncLeftRightCheckbox
;
76 @
property (readwrite
, weak
) IBOutlet NSButton
*transformCheckbox
;
77 @
property (readwrite
, weak
) IBOutlet NSPopUpButton
*transformPopup
;
78 @
property (readwrite
, weak
) IBOutlet NSButton
*zoomCheckbox
;
79 @
property (readwrite
, weak
) IBOutlet NSButton
*puzzleCheckbox
;
80 @
property (readwrite
, weak
) IBOutlet NSTextField
*puzzleRowsLabel
;
81 @
property (readwrite
, weak
) IBOutlet NSTextField
*puzzleRowsTextField
;
82 @
property (readwrite
, weak
) IBOutlet NSStepper
*puzzleRowsStepper
;
83 @
property (readwrite
, weak
) IBOutlet NSTextField
*puzzleColumnsLabel
;
84 @
property (readwrite
, weak
) IBOutlet NSTextField
*puzzleColumnsTextField
;
85 @
property (readwrite
, weak
) IBOutlet NSStepper
*puzzleColumnsStepper
;
86 @
property (readwrite
, weak
) IBOutlet NSButton
*cloneCheckbox
;
87 @
property (readwrite
, weak
) IBOutlet NSTextField
*cloneNumberTextField
;
88 @
property (readwrite
, weak
) IBOutlet NSStepper
*cloneNumberStepper
;
89 @
property (readwrite
, weak
) IBOutlet NSTextField
*cloneNumberLabel
;
90 @
property (readwrite
, weak
) IBOutlet NSButton
*wallCheckbox
;
91 @
property (readwrite
, weak
) IBOutlet NSTextField
*wallNumbersOfRowsTextField
;
92 @
property (readwrite
, weak
) IBOutlet NSStepper
*wallNumbersOfRowsStepper
;
93 @
property (readwrite
, weak
) IBOutlet NSTextField
*wallNumbersOfRowsLabel
;
94 @
property (readwrite
, weak
) IBOutlet NSTextField
*wallNumberOfColumnsTextField
;
95 @
property (readwrite
, weak
) IBOutlet NSStepper
*wallNumberOfColumnsStepper
;
96 @
property (readwrite
, weak
) IBOutlet NSTextField
*wallNumberOfColumnsLabel
;
99 @
property (readwrite
, weak
) IBOutlet NSButton
*thresholdCheckbox
;
100 @
property (readwrite
, weak
) IBOutlet NSTextField
*thresholdColorLabel
;
101 @
property (readwrite
, weak
) IBOutlet NSTextField
*thresholdColorTextField
;
102 @
property (readwrite
, weak
) IBOutlet NSTextField
*thresholdSaturationLabel
;
103 @
property (readwrite
, weak
) IBOutlet NSSlider
*thresholdSaturationSlider
;
104 @
property (readwrite
, weak
) IBOutlet NSTextField
*thresholdSimilarityLabel
;
105 @
property (readwrite
, weak
) IBOutlet NSSlider
*thresholdSimilaritySlider
;
106 @
property (readwrite
, weak
) IBOutlet NSButton
*sepiaCheckbox
;
107 @
property (readwrite
, weak
) IBOutlet NSTextField
*sepiaLabel
;
108 @
property (readwrite
, weak
) IBOutlet NSTextField
*sepiaTextField
;
109 @
property (readwrite
, weak
) IBOutlet NSStepper
*sepiaStepper
;
110 @
property (readwrite
, weak
) IBOutlet NSButton
*noiseCheckbox
;
111 @
property (readwrite
, weak
) IBOutlet NSButton
*gradientCheckbox
;
112 @
property (readwrite
, weak
) IBOutlet NSTextField
*gradientModeLabel
;
113 @
property (readwrite
, weak
) IBOutlet NSPopUpButton
*gradientModePopup
;
114 @
property (readwrite
, weak
) IBOutlet NSButton
*gradientColorCheckbox
;
115 @
property (readwrite
, weak
) IBOutlet NSButton
*gradientCartoonCheckbox
;
116 @
property (readwrite
, weak
) IBOutlet NSButton
*extractCheckbox
;
117 @
property (readwrite
, weak
) IBOutlet NSTextField
*extractLabel
;
118 @
property (readwrite
, weak
) IBOutlet NSTextField
*extractTextField
;
119 @
property (readwrite
, weak
) IBOutlet NSButton
*invertCheckbox
;
120 @
property (readwrite
, weak
) IBOutlet NSButton
*posterizeCheckbox
;
121 @
property (readwrite
, weak
) IBOutlet NSTextField
*posterizeLabel
;
122 @
property (readwrite
, weak
) IBOutlet NSTextField
*posterizeTextField
;
123 @
property (readwrite
, weak
) IBOutlet NSStepper
*posterizeStepper
;
124 @
property (readwrite
, weak
) IBOutlet NSButton
*blurCheckbox
;
125 @
property (readwrite
, weak
) IBOutlet NSSlider
*blurSlider
;
126 @
property (readwrite
, weak
) IBOutlet NSTextField
*blurLabel
;
127 @
property (readwrite
, weak
) IBOutlet NSButton
*motiondetectCheckbox
;
128 @
property (readwrite
, weak
) IBOutlet NSButton
*watereffectCheckbox
;
129 @
property (readwrite
, weak
) IBOutlet NSButton
*wavesCheckbox
;
130 @
property (readwrite
, weak
) IBOutlet NSButton
*psychedelicCheckbox
;
133 @
property (readwrite
, weak
) IBOutlet NSButton
*addTextCheckbox
;
134 @
property (readwrite
, weak
) IBOutlet NSTextField
*addTextTextTextField
;
135 @
property (readwrite
, weak
) IBOutlet NSTextField
*addTextTextLabel
;
136 @
property (readwrite
, weak
) IBOutlet NSTextField
*addTextPositionLabel
;
137 @
property (readwrite
, weak
) IBOutlet NSPopUpButton
*addTextPositionPopup
;
138 @
property (readwrite
, weak
) IBOutlet NSButton
*addLogoCheckbox
;
139 @
property (readwrite
, weak
) IBOutlet NSTextField
*addLogoLogoLabel
;
140 @
property (readwrite
, weak
) IBOutlet NSTextField
*addLogoLogoTextField
;
141 @
property (readwrite
, weak
) IBOutlet NSTextField
*addLogoPositionLabel
;
142 @
property (readwrite
, weak
) IBOutlet NSPopUpButton
*addLogoPositionPopup
;
143 @
property (readwrite
, weak
) IBOutlet NSTextField
*addLogoTransparencyLabel
;
144 @
property (readwrite
, weak
) IBOutlet NSSlider
*addLogoTransparencySlider
;
145 @
property (readwrite
, weak
) IBOutlet NSButton
*anaglyphCheckbox
;
147 @
property (strong
) VLCPopupPanelController
*popupPanel
;
148 @
property (strong
) VLCTextfieldPanelController
*textfieldPanel
;
150 /* text field / stepper binding values */
151 /* use setter to modify gui elements */
152 @
property (nonatomic
) int cropLeftValue
;
153 @
property (nonatomic
) int cropTopValue
;
154 @
property (nonatomic
) int cropRightValue
;
155 @
property (nonatomic
) int cropBottomValue
;
157 @
property (nonatomic
) int puzzleRowsValue
;
158 @
property (nonatomic
) int puzzleColumnsValue
;
160 @
property (nonatomic
) int wallRowsValue
;
161 @
property (nonatomic
) int wallColumnsValue
;
163 @
property (nonatomic
) int cloneValue
;
165 @
property (nonatomic
) int sepiaValue
;
167 @
property (nonatomic
) int posterizeValue
;
170 - (void)updateCocoaWindowLevel
:(NSInteger
)i_level
;
171 - (void)saveCurrentProfile
;
173 - (void)toggleWindow
:(id
)sender
;
174 - (IBAction
)profileSelectorAction
:(id
)sender
;
177 - (IBAction
)enableAdjust
:(id
)sender
;
178 - (IBAction
)adjustSliderChanged
:(id
)sender
;
179 - (IBAction
)enableAdjustBrightnessThreshold
:(id
)sender
;
180 - (IBAction
)enableSharpen
:(id
)sender
;
181 - (IBAction
)sharpenSliderChanged
:(id
)sender
;
182 - (IBAction
)enableBanding
:(id
)sender
;
183 - (IBAction
)bandingSliderChanged
:(id
)sender
;
184 - (IBAction
)enableGrain
:(id
)sender
;
185 - (IBAction
)grainSliderChanged
:(id
)sender
;
188 - (IBAction
)cropObjectChanged
:(id
)sender
;
191 - (IBAction
)enableTransform
:(id
)sender
;
192 - (IBAction
)transformModifierChanged
:(id
)sender
;
193 - (IBAction
)enableZoom
:(id
)sender
;
194 - (IBAction
)enablePuzzle
:(id
)sender
;
195 - (IBAction
)puzzleModifierChanged
:(id
)sender
;
196 - (IBAction
)enableClone
:(id
)sender
;
197 - (IBAction
)cloneModifierChanged
:(id
)sender
;
198 - (IBAction
)enableWall
:(id
)sender
;
199 - (IBAction
)wallModifierChanged
:(id
)sender
;
202 - (IBAction
)enableThreshold
:(id
)sender
;
203 - (IBAction
)thresholdModifierChanged
:(id
)sender
;
204 - (IBAction
)enableSepia
:(id
)sender
;
205 - (IBAction
)sepiaModifierChanged
:(id
)sender
;
206 - (IBAction
)enableNoise
:(id
)sender
;
207 - (IBAction
)enableGradient
:(id
)sender
;
208 - (IBAction
)gradientModifierChanged
:(id
)sender
;
209 - (IBAction
)enableExtract
:(id
)sender
;
210 - (IBAction
)extractModifierChanged
:(id
)sender
;
211 - (IBAction
)enableInvert
:(id
)sender
;
212 - (IBAction
)enablePosterize
:(id
)sender
;
213 - (IBAction
)posterizeModifierChanged
:(id
)sender
;
214 - (IBAction
)enableBlur
:(id
)sender
;
215 - (IBAction
)blurModifierChanged
:(id
)sender
;
216 - (IBAction
)enableMotionDetect
:(id
)sender
;
217 - (IBAction
)enableWaterEffect
:(id
)sender
;
218 - (IBAction
)enableWaves
:(id
)sender
;
219 - (IBAction
)enablePsychedelic
:(id
)sender
;
222 - (IBAction
)enableAddText
:(id
)sender
;
223 - (IBAction
)addTextModifierChanged
:(id
)sender
;
224 - (IBAction
)enableAddLogo
:(id
)sender
;
225 - (IBAction
)addLogoModifierChanged
:(id
)sender
;
226 - (IBAction
)enableAnaglyph
:(id
)sender
;