src/share/classes/sun/swing/LightweightContent.java

Print this page

        

*** 83,117 **** /** * {@code JLightweightFrame} calls this method to notify the client * application that a new data buffer has been set as a content pixel * buffer. Typically this occurs when a buffer of a larger size is ! * created in response to a content resize event. The method reports ! * a reference to the pixel data buffer, the content image bounds ! * within the buffer and the line stride of the buffer. These values ! * have the following correlation. * <p> ! * The {@code width} and {@code height} matches the size of the content * (the component returned from the {@link #getComponent} method). The * {@code x} and {@code y} is the origin of the content, {@code (0, 0)} ! * in the coordinate space of the content, appearing at ! * {@code data[y * linestride + x]} in the buffer. All indices ! * {@code data[(y + j) * linestride + (x + i)]} where ! * {@code (0 <= i < width)} and {@code (0 <= j < height)} will represent ! * valid pixel data, {@code (i, j)} in the coordinate space of the content. * * @param data the content pixel data buffer of INT_ARGB_PRE type ! * @param x the x coordinate of the image ! * @param y the y coordinate of the image ! * @param width the width of the image ! * @param height the height of the image * @param linestride the line stride of the pixel buffer */ public void imageBufferReset(int[] data, int x, int y, int width, int height, ! int linestride); /** * {@code JLightweightFrame} calls this method to notify the client * application that the content image bounds have been changed within the * image's pixel buffer. --- 83,126 ---- /** * {@code JLightweightFrame} calls this method to notify the client * application that a new data buffer has been set as a content pixel * buffer. Typically this occurs when a buffer of a larger size is ! * created in response to a content resize event. * <p> ! * When a scale factor greater than one is set on a {@code JLightweightFrame} ! * ({@link JLightweightFrame#setScaleFactor}), an {@link OffScreenHiDPIImage} ! * is created to server the pixel buffer. ! * <p> ! * The method reports a reference to the pixel data buffer, the content ! * image bounds within the buffer and the line stride of the buffer. ! * These values have the following correlation. ! * The {@code width} and {@code height} matches the layout size of the content * (the component returned from the {@link #getComponent} method). The * {@code x} and {@code y} is the origin of the content, {@code (0, 0)} ! * in the layout coordinate space of the content, appearing at ! * {@code data[y * scale * linestride + x * scale]} in the buffer. ! * A pixel with indices {@code (i, j)}, where {@code (0 <= i < width)} and ! * {@code (0 <= j < height)}, in the layout coordinate space of the content ! * is represented by a {@code scale^2} square of pixels in the physical ! * coordinate space of the buffer. The top-left corner of the square has the ! * following physical coordinate in the buffer: ! * {@code data[(y + j) * scale * linestride + (x + i) * scale]}. * * @param data the content pixel data buffer of INT_ARGB_PRE type ! * @param x the logical x coordinate of the image ! * @param y the logical y coordinate of the image ! * @param width the logical width of the image ! * @param height the logical height of the image * @param linestride the line stride of the pixel buffer + * @param scale the scale factor of the pixel buffer */ public void imageBufferReset(int[] data, int x, int y, int width, int height, ! int linestride, ! int scale); /** * {@code JLightweightFrame} calls this method to notify the client * application that the content image bounds have been changed within the * image's pixel buffer.