1 /* 2 * Copyright (c) 2011, 2017, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 package com.sun.javafx.tk; 27 28 import javafx.geometry.Dimension2D; 29 import javafx.scene.image.Image; 30 import javafx.scene.input.Dragboard; 31 import javafx.scene.input.InputMethodRequests; 32 import javafx.scene.input.KeyCode; 33 import javafx.scene.input.KeyEvent; 34 import javafx.scene.input.TransferMode; 35 import javafx.scene.paint.Color; 36 import javafx.scene.paint.ImagePattern; 37 import javafx.scene.paint.LinearGradient; 38 import javafx.scene.paint.RadialGradient; 39 import javafx.scene.shape.PathElement; 40 import javafx.scene.shape.SVGPath; 41 import javafx.scene.shape.StrokeLineCap; 42 import javafx.scene.shape.StrokeLineJoin; 43 import javafx.scene.shape.StrokeType; 44 import javafx.stage.FileChooser.ExtensionFilter; 45 import javafx.stage.Modality; 46 import javafx.stage.Stage; 47 import javafx.stage.StageStyle; 48 import javafx.stage.Window; 49 import java.io.File; 50 import java.io.InputStream; 51 import java.security.AccessControlContext; 52 import java.util.List; 53 import java.util.Map; 54 import java.util.Set; 55 import java.util.concurrent.Future; 56 import com.sun.glass.ui.CommonDialogs.FileChooserResult; 57 import com.sun.javafx.embed.HostInterface; 58 import com.sun.javafx.geom.Path2D; 59 import com.sun.javafx.geom.Shape; 60 import com.sun.javafx.geom.transform.BaseTransform; 61 import com.sun.javafx.perf.PerformanceTracker; 62 import com.sun.javafx.runtime.async.AsyncOperation; 63 import com.sun.javafx.runtime.async.AsyncOperationListener; 64 import com.sun.javafx.scene.text.TextLayoutFactory; 65 import com.sun.scenario.DelayedRunnable; 66 import com.sun.scenario.animation.AbstractMasterTimer; 67 import com.sun.scenario.effect.FilterContext; 68 import com.sun.scenario.effect.Filterable; 69 70 /** 71 * A stubbed out Toolkit that provides no useful implementation. This is used 72 * by the build to run the CSS to binary converter. The parser uses 73 * PlatformLogger which requires a Toolkit. 74 * 75 */ 76 final public class DummyToolkit extends Toolkit { 77 78 @Override 79 public boolean init() { 80 return true; 81 } 82 83 @Override 84 public boolean canStartNestedEventLoop() { 85 return false; 86 } 87 88 @Override 89 public Object enterNestedEventLoop(Object key) { 90 throw new UnsupportedOperationException("Not supported yet."); 91 } 92 93 @Override 94 public void exitNestedEventLoop(Object key, Object rval) { 95 throw new UnsupportedOperationException("Not supported yet."); 96 } 97 98 @Override 99 public void exitAllNestedEventLoops() { 100 throw new UnsupportedOperationException("Not supported yet."); 101 } 102 103 @Override 104 public TKStage createTKStage(Window peerWindow, boolean securityDialog, StageStyle stageStyle, boolean primary, Modality modality, TKStage owner, boolean rtl, AccessControlContext acc) { 105 throw new UnsupportedOperationException("Not supported yet."); 106 } 107 108 @Override 109 public TKStage createTKPopupStage(Window peerWindow, StageStyle popupStyle, TKStage owner, AccessControlContext acc) { 110 throw new UnsupportedOperationException("Not supported yet."); 111 } 112 113 @Override 114 public TKStage createTKEmbeddedStage(HostInterface host, AccessControlContext acc) { 115 throw new UnsupportedOperationException("Not supported yet."); 116 } 117 118 @Override 119 public AppletWindow createAppletWindow(long parent, String serverName) { 120 throw new UnsupportedOperationException("Not supported yet."); 121 } 122 123 @Override 124 public void closeAppletWindow() { 125 throw new UnsupportedOperationException("Not supported yet."); 126 } 127 128 @Override 129 public TKSystemMenu getSystemMenu() { 130 throw new UnsupportedOperationException("Not supported yet."); 131 } 132 133 @Override 134 public ImageLoader loadImage(String url, double width, double height, boolean preserveRatio, boolean smooth) { 135 throw new UnsupportedOperationException("Not supported yet."); 136 } 137 138 @Override 139 public ImageLoader loadImage(InputStream stream, double width, double height, boolean preserveRatio, boolean smooth) { 140 throw new UnsupportedOperationException("Not supported yet."); 141 } 142 143 @Override 144 public AsyncOperation loadImageAsync(AsyncOperationListener<? extends ImageLoader> listener, String url, double width, double height, boolean preserveRatio, boolean smooth) { 145 throw new UnsupportedOperationException("Not supported yet."); 146 } 147 148 @Override 149 public ImageLoader loadPlatformImage(Object platformImage) { 150 throw new UnsupportedOperationException("Not supported yet."); 151 } 152 153 @Override 154 public PlatformImage createPlatformImage(int w, int h) { 155 throw new UnsupportedOperationException("Not supported yet."); 156 } 157 158 @Override 159 public void startup(Runnable runnable) { 160 throw new UnsupportedOperationException("Not supported yet."); 161 } 162 163 @Override 164 public void defer(Runnable runnable) { 165 throw new UnsupportedOperationException("Not supported yet."); 166 } 167 168 @Override 169 public Future addRenderJob(RenderJob rj) { 170 throw new UnsupportedOperationException("Not supported yet."); 171 } 172 173 @Override 174 public Map<Object, Object> getContextMap() { 175 throw new UnsupportedOperationException("Not supported yet."); 176 } 177 178 @Override 179 public int getRefreshRate() { 180 throw new UnsupportedOperationException("Not supported yet."); 181 } 182 183 @Override 184 public void setAnimationRunnable(DelayedRunnable animationRunnable) { 185 throw new UnsupportedOperationException("Not supported yet."); 186 } 187 188 @Override 189 public PerformanceTracker getPerformanceTracker() { 190 throw new UnsupportedOperationException("Not supported yet."); 191 } 192 193 @Override public PerformanceTracker createPerformanceTracker() { 194 throw new UnsupportedOperationException("Not supported yet."); 195 } 196 197 @Override 198 public void waitFor(Task t) { 199 throw new UnsupportedOperationException("Not supported yet."); 200 } 201 202 @Override 203 protected Object createColorPaint(Color paint) { 204 throw new UnsupportedOperationException("Not supported yet."); 205 } 206 207 @Override 208 protected Object createLinearGradientPaint(LinearGradient paint) { 209 throw new UnsupportedOperationException("Not supported yet."); 210 } 211 212 @Override 213 protected Object createRadialGradientPaint(RadialGradient paint) { 214 throw new UnsupportedOperationException("Not supported yet."); 215 } 216 217 @Override 218 protected Object createImagePatternPaint(ImagePattern paint) { 219 throw new UnsupportedOperationException("Not supported yet."); 220 } 221 222 @Override 223 public void accumulateStrokeBounds(Shape shape, float[] bbox, StrokeType type, double strokewidth, StrokeLineCap cap, StrokeLineJoin join, float miterLimit, BaseTransform tx) { 224 throw new UnsupportedOperationException("Not supported yet."); 225 } 226 227 @Override 228 public boolean strokeContains(Shape shape, double x, double y, StrokeType type, double strokewidth, StrokeLineCap cap, StrokeLineJoin join, float miterLimit) { 229 throw new UnsupportedOperationException("Not supported yet."); 230 } 231 232 @Override 233 public Shape createStrokedShape(Shape shape, StrokeType pgtype, double strokewidth, StrokeLineCap pgcap, StrokeLineJoin pgjoin, float miterLimit, float[] dashArray, float dashOffset) { 234 throw new UnsupportedOperationException("Not supported yet."); 235 } 236 237 @Override 238 public int getKeyCodeForChar(String character) { 239 throw new UnsupportedOperationException("Not supported yet."); 240 } 241 242 @Override 243 public Dimension2D getBestCursorSize(int preferredWidth, int preferredHeight) { 244 throw new UnsupportedOperationException("Not supported yet."); 245 } 246 247 @Override 248 public int getMaximumCursorColors() { 249 throw new UnsupportedOperationException("Not supported yet."); 250 } 251 252 253 @Override 254 public PathElement[] convertShapeToFXPath(Object shape) { 255 throw new UnsupportedOperationException("Not supported yet."); 256 } 257 258 @Override 259 public Filterable toFilterable(Image img) { 260 throw new UnsupportedOperationException("Not supported yet."); 261 } 262 263 @Override 264 public FilterContext getFilterContext(Object config) { 265 throw new UnsupportedOperationException("Not supported yet."); 266 } 267 268 @Override 269 public boolean isForwardTraversalKey(KeyEvent e) { 270 throw new UnsupportedOperationException("Not supported yet."); 271 } 272 273 @Override 274 public boolean isBackwardTraversalKey(KeyEvent e) { 275 throw new UnsupportedOperationException("Not supported yet."); 276 } 277 278 @Override 279 public boolean isNestedLoopRunning() { 280 throw new UnsupportedOperationException("Not supported yet."); 281 } 282 283 @Override 284 public AbstractMasterTimer getMasterTimer() { 285 return null; 286 } 287 288 @Override 289 public FontLoader getFontLoader() { 290 throw new UnsupportedOperationException("Not supported yet."); 291 } 292 293 @Override 294 public TextLayoutFactory getTextLayoutFactory() { 295 throw new UnsupportedOperationException("Not supported yet."); 296 } 297 298 @Override 299 public Object createSVGPathObject(SVGPath svgpath) { 300 throw new UnsupportedOperationException("Not supported yet."); 301 } 302 303 @Override 304 public Path2D createSVGPath2D(SVGPath svgpath) { 305 throw new UnsupportedOperationException("Not supported yet."); 306 } 307 308 @Override 309 public boolean imageContains(Object image, float x, float y) { 310 throw new UnsupportedOperationException("Not supported yet."); 311 } 312 313 @Override 314 public com.sun.javafx.tk.TKClipboard getSystemClipboard() { 315 throw new UnsupportedOperationException("Not supported yet."); 316 } 317 318 @Override 319 public TKClipboard getNamedClipboard(String name) { 320 throw new UnsupportedOperationException("Not supported yet."); 321 } 322 323 @Override 324 public ScreenConfigurationAccessor setScreenConfigurationListener(TKScreenConfigurationListener listener) { 325 throw new UnsupportedOperationException("Not supported yet."); 326 } 327 328 @Override 329 public Object getPrimaryScreen() { 330 throw new UnsupportedOperationException("Not supported yet."); 331 } 332 333 @Override 334 public List<?> getScreens() { 335 throw new UnsupportedOperationException("Not supported yet."); 336 } 337 338 @Override 339 public ScreenConfigurationAccessor getScreenConfigurationAccessor() { 340 throw new UnsupportedOperationException("Not supported yet."); 341 } 342 343 @Override 344 public void registerDragGestureListener(TKScene s, Set<TransferMode> tms, TKDragGestureListener l) { 345 throw new UnsupportedOperationException("Not supported yet."); 346 } 347 348 @Override 349 public void startDrag(TKScene scene, Set<TransferMode> tms, TKDragSourceListener l, Dragboard dragboard) { 350 throw new UnsupportedOperationException("Not supported yet."); 351 } 352 353 @Override 354 public void enableDrop(TKScene s, TKDropTargetListener l) { 355 throw new UnsupportedOperationException("Not supported yet."); 356 } 357 358 @Override 359 public void installInputMethodRequests(TKScene scene, InputMethodRequests requests) { 360 throw new UnsupportedOperationException("Not supported yet."); 361 } 362 363 @Override 364 public Object renderToImage(ImageRenderingContext context) { 365 throw new UnsupportedOperationException("Not supported yet."); 366 } 367 368 @Override 369 public KeyCode getPlatformShortcutKey() { 370 throw new UnsupportedOperationException("Not supported yet."); 371 } 372 373 @Override 374 public FileChooserResult showFileChooser(TKStage ownerWindow, 375 String title, 376 File initialDirectory, 377 String initialFileName, 378 FileChooserType fileChooserType, 379 List<ExtensionFilter> extensionFilters, 380 ExtensionFilter selectedFilter) { 381 throw new UnsupportedOperationException("Not supported yet."); 382 } 383 384 385 @Override 386 public File showDirectoryChooser(TKStage ownerWindow, 387 String title, 388 File initialDirectory) { 389 throw new UnsupportedOperationException("Not supported yet."); 390 } 391 392 @Override 393 public long getMultiClickTime() { 394 return 0L; 395 } 396 397 @Override 398 public int getMultiClickMaxX() { 399 return 0; 400 } 401 402 @Override 403 public int getMultiClickMaxY() { 404 return 0; 405 } 406 407 @Override 408 public void requestNextPulse() { 409 throw new UnsupportedOperationException("Not supported yet."); 410 } 411 412 }