< prev index next >

modules/media/src/main/java/javafx/scene/media/MediaView.java

Print this page

        

*** 101,110 **** --- 101,131 ---- @Override public void doUpdatePeer(Node node) { ((MediaView) node).doUpdatePeer(); } + + @Override + public void doTransformsChanged(Node node) { + ((MediaView) node).doTransformsChanged(); + } + + @Override + public BaseBounds doComputeGeomBounds(Node node, + BaseBounds bounds, BaseTransform tx) { + return ((MediaView) node).doComputeGeomBounds(bounds, tx); + } + + @Override + public boolean doComputeContains(Node node, double localX, double localY) { + return ((MediaView) node).doComputeContains(localX, localY); + } + + @Override + public Object doProcessMXNode(Node node, MXNodeAlgorithm alg, MXNodeAlgorithmContext ctx) { + return ((MediaView) node).doProcessMXNode(alg, ctx); + } }); } /** * The name of the property in the {@link ObservableMap} returned by
*** 131,141 **** private InvalidationListener errorListener = new MediaErrorInvalidationListener(); /** Listener which causes the geometry to be updated when the media dimension changes. */ private InvalidationListener mediaDimensionListener = value -> { NodeHelper.markDirty(this, DirtyBits.NODE_VIEWPORT); ! impl_geomChanged(); }; /** Listener for decoded frame rate. */ private com.sun.media.jfxmedia.events.VideoFrameRateListener decodedFrameRateListener; private boolean registerVideoFrameRateListener = false; --- 152,162 ---- private InvalidationListener errorListener = new MediaErrorInvalidationListener(); /** Listener which causes the geometry to be updated when the media dimension changes. */ private InvalidationListener mediaDimensionListener = value -> { NodeHelper.markDirty(this, DirtyBits.NODE_VIEWPORT); ! NodeHelper.geomChanged(this); }; /** Listener for decoded frame rate. */ private com.sun.media.jfxmedia.events.VideoFrameRateListener decodedFrameRateListener; private boolean registerVideoFrameRateListener = false;
*** 236,246 **** } private static Affine3D calculateNodeToSceneTransform(Node node) { final Affine3D transform = new Affine3D(); do { ! transform.preConcatenate(node.impl_getLeafTransform()); node = node.getParent(); } while (node != null); return transform; } --- 257,267 ---- } private static Affine3D calculateNodeToSceneTransform(Node node) { final Affine3D transform = new Affine3D(); do { ! transform.preConcatenate(NodeHelper.getLeafTransform(node)); node = node.getParent(); } while (node != null); return transform; }
*** 268,285 **** getIOSPlayer().setOverlayOpacity(getOpacity()); getIOSPlayer().setOverlayVisible(determineVisibility()); updateOverlayTransformDirectly(); } ! /** ! * @treatAsPrivate implementation detail ! * @deprecated This is an internal API that is not intended for use and will be removed in the next version */ ! @Deprecated ! @Override ! public void impl_transformsChanged() { ! super.impl_transformsChanged(); if (HostUtils.isIOS()) { updateOverlayTransform(); } } --- 289,303 ---- getIOSPlayer().setOverlayOpacity(getOpacity()); getIOSPlayer().setOverlayVisible(determineVisibility()); updateOverlayTransformDirectly(); } ! /* ! * ! * Note: This method MUST only be called via its accessor method. */ ! private void doTransformsChanged() { if (HostUtils.isIOS()) { updateOverlayTransform(); } }
*** 307,317 **** decodedFrameRateListener = createVideoFrameRateListener(); setNodeOrientation(NodeOrientation.LEFT_TO_RIGHT); if (HostUtils.isIOS()) { createListeners(); parentProperty().addListener(parentListener); ! impl_treeVisibleProperty().addListener(treeVisibleListener); opacityProperty().addListener(opacityListener); } } /** --- 325,335 ---- decodedFrameRateListener = createVideoFrameRateListener(); setNodeOrientation(NodeOrientation.LEFT_TO_RIGHT); if (HostUtils.isIOS()) { createListeners(); parentProperty().addListener(parentListener); ! NodeHelper.treeVisibleProperty(this).addListener(treeVisibleListener); opacityProperty().addListener(opacityListener); } } /**
*** 396,406 **** media.widthProperty().addListener(mediaDimensionListener); media.heightProperty().addListener(mediaDimensionListener); } } NodeHelper.markDirty(MediaView.this, DirtyBits.MEDIAVIEW_MEDIA); ! impl_geomChanged(); oldValue = newValue; } @Override public Object getBean() { return MediaView.this; --- 414,424 ---- media.widthProperty().addListener(mediaDimensionListener); media.heightProperty().addListener(mediaDimensionListener); } } NodeHelper.markDirty(MediaView.this, DirtyBits.MEDIAVIEW_MEDIA); ! NodeHelper.geomChanged(MediaView.this); oldValue = newValue; } @Override public Object getBean() { return MediaView.this;
*** 493,503 **** if (HostUtils.isIOS()) { updateOverlayPreserveRatio(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! impl_geomChanged(); } } @Override public Object getBean() { --- 511,521 ---- if (HostUtils.isIOS()) { updateOverlayPreserveRatio(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! NodeHelper.geomChanged(MediaView.this); } } @Override public Object getBean() {
*** 594,604 **** if (HostUtils.isIOS()) { updateOverlayX(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_GEOMETRY); ! impl_geomChanged(); } } @Override public Object getBean() { --- 612,622 ---- if (HostUtils.isIOS()) { updateOverlayX(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_GEOMETRY); ! NodeHelper.geomChanged(MediaView.this); } } @Override public Object getBean() {
*** 644,654 **** if (HostUtils.isIOS()) { updateOverlayY(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_GEOMETRY); ! impl_geomChanged(); } } @Override public Object getBean() { --- 662,672 ---- if (HostUtils.isIOS()) { updateOverlayY(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_GEOMETRY); ! NodeHelper.geomChanged(MediaView.this); } } @Override public Object getBean() {
*** 701,711 **** if (HostUtils.isIOS()) { updateOverlayWidth(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! impl_geomChanged(); } } @Override public Object getBean() { --- 719,729 ---- if (HostUtils.isIOS()) { updateOverlayWidth(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! NodeHelper.geomChanged(MediaView.this); } } @Override public Object getBean() {
*** 758,768 **** if (HostUtils.isIOS()) { updateOverlayHeight(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! impl_geomChanged(); } } @Override public Object getBean() { --- 776,786 ---- if (HostUtils.isIOS()) { updateOverlayHeight(); } else { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! NodeHelper.geomChanged(MediaView.this); } } @Override public Object getBean() {
*** 810,820 **** viewport = new ObjectPropertyBase<Rectangle2D>() { @Override protected void invalidated() { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! impl_geomChanged(); } @Override public Object getBean() { return MediaView.this; --- 828,838 ---- viewport = new ObjectPropertyBase<Rectangle2D>() { @Override protected void invalidated() { NodeHelper.markDirty(MediaView.this, DirtyBits.NODE_VIEWPORT); ! NodeHelper.geomChanged(MediaView.this); } @Override public Object getBean() { return MediaView.this;
*** 835,850 **** final NGMediaView peer = NodeHelper.getPeer(this); peer.setMediaProvider(player); } NodeHelper.markDirty(this, DirtyBits.MEDIAVIEW_MEDIA); ! impl_geomChanged(); } void notifyMediaSizeChange() { NodeHelper.markDirty(this, DirtyBits.NODE_VIEWPORT); ! impl_geomChanged(); } void notifyMediaFrameUpdated() { decodedFrameCount++; NodeHelper.markDirty(this, DirtyBits.NODE_CONTENTS); --- 853,868 ---- final NGMediaView peer = NodeHelper.getPeer(this); peer.setMediaProvider(player); } NodeHelper.markDirty(this, DirtyBits.MEDIAVIEW_MEDIA); ! NodeHelper.geomChanged(this); } void notifyMediaSizeChange() { NodeHelper.markDirty(this, DirtyBits.NODE_VIEWPORT); ! NodeHelper.geomChanged(this); } void notifyMediaFrameUpdated() { decodedFrameCount++; NodeHelper.markDirty(this, DirtyBits.NODE_CONTENTS);
*** 858,874 **** // this has to be done on the main toolkit thread... peer.setFrameTracker(new MediaViewFrameTracker()); return peer; } ! /** ! * @treatAsPrivate implementation detail ! * @deprecated This is an internal API that is not intended for use and will be removed in the next version */ ! @Deprecated ! @Override ! public BaseBounds impl_computeGeomBounds(BaseBounds bounds, BaseTransform tx) { // need to figure out the width/height to use for computing bounds Media media = (getMediaPlayer() == null) ? null : getMediaPlayer().getMedia(); double w = media != null ? media.getWidth() : 0; // if media is null, width will be 0 double h = media != null ? media.getHeight() : 0; // if media is null, height will be 0 --- 876,889 ---- // this has to be done on the main toolkit thread... peer.setFrameTracker(new MediaViewFrameTracker()); return peer; } ! /* ! * Note: This method MUST only be called via its accessor method. */ ! private BaseBounds doComputeGeomBounds(BaseBounds bounds, BaseTransform tx) { // need to figure out the width/height to use for computing bounds Media media = (getMediaPlayer() == null) ? null : getMediaPlayer().getMedia(); double w = media != null ? media.getWidth() : 0; // if media is null, width will be 0 double h = media != null ? media.getHeight() : 0; // if media is null, height will be 0
*** 923,939 **** (float)(getX()+w), (float)(getY()+h), 0.0f); bounds = tx.transform(bounds, bounds); return bounds; } ! /** ! * @treatAsPrivate implementation detail ! * @deprecated This is an internal API that is not intended for use and will be removed in the next version */ ! @Deprecated ! @Override ! protected boolean impl_computeContains(double localX, double localY) { // Currently this is simply a local bounds test which is already tested // by the caller (Node.contains()). return true; } --- 938,951 ---- (float)(getX()+w), (float)(getY()+h), 0.0f); bounds = tx.transform(bounds, bounds); return bounds; } ! /* ! * Note: This method MUST only be called via its accessor method. */ ! private boolean doComputeContains(double localX, double localY) { // Currently this is simply a local bounds test which is already tested // by the caller (Node.contains()). return true; }
*** 1030,1045 **** public void incrementRenderedFrameCount(int count) { renderedFrameCount += count; } } ! /** ! * @treatAsPrivate implementation detail ! * @deprecated This is an internal API that is not intended for use and will be removed in the next version */ ! @Deprecated ! public Object impl_processMXNode(MXNodeAlgorithm alg, MXNodeAlgorithmContext ctx) { return alg.processLeafNode(this, ctx); } /** * Called by MediaPlayer when it becomes ready --- 1042,1055 ---- public void incrementRenderedFrameCount(int count) { renderedFrameCount += count; } } ! /* ! * Note: This method MUST only be called via its accessor method. */ ! private Object doProcessMXNode(MXNodeAlgorithm alg, MXNodeAlgorithmContext ctx) { return alg.processLeafNode(this, ctx); } /** * Called by MediaPlayer when it becomes ready
< prev index next >