Fix proposal: boolean flag & public API for JDK-8204060 - Disable smoothing at javafx.scene.canvas.GraphicsContext.drawImage()

Nir Lisker nlisker at gmail.com
Wed Oct 17 07:54:26 UTC 2018


Hi Ambarish,

* I don't think you need to list the default value in the description if
you use @default (which I see other properties don't), for both get and set.
* "true" and "false" in @param need @code.
* I would choose either "image smoothing flag" (used in setter) or "image
smoothing state" (used in getter) consistently.

Thanks,
Nir


On Tue, Oct 16, 2018 at 8:57 PM Ambarish Rapte <ambarish.rapte at oracle.com>
wrote:

> Hi All,
>
> Below is documentation for the new APIs and a slight modification in the
> description of existing drawImage() APIs
>
> New APIs setImageSmoothing() & isImageSmoothing()
> *****************************************************************
> setImageSmoothing () API
> *****************************************************************
>
>      /**
>      * Sets the image smoothing flag.
>      * The default value is {@code true}.<br>
>      * Image smoothing is an <a href="#image-attr">Image attribute</a>
>      * used to enable or disable image smoothing for
>      * {@link #drawImage(javafx.scene.image.Image, double, double)
> drawImage(all forms)}
>      * as specified in the <a href="#attr-ops-table">Rendering Attributes
> Table</a>.<br>
>      * If image smoothing is {@code true}, images will be scaled using a
> higher
>      * quality filtering when transforming or scaling the source image to
> fit
>      * in the destination rectangle.<br>
>      * If image smoothing is {@code false}, images will be scaled without
> filtering
>      * (or by using a lower quality filtering) when transforming or
> scaling the
>      * source image to fit in the destination rectangle.
>      *
>      * @since 12
>      * @param imageSmoothing true to enable or false to disable smoothing.
>      * @defaultValue {@code true}
>      */
>     public void setImageSmoothing(boolean imageSmoothing) {
>     //......
>     }
>
> *****************************************************************
> isImageSmoothing () API
> *****************************************************************
>     /**
>      * Gets the current state of image smoothing.
>      * The default value is {@code true}.
>      *
>      * @since 12
>      * @return image smoothing state.
>      */
>     public boolean isImageSmoothing() {
>         //......
>         }
>
> *****************************************************************
> Image smoothing attribute shall be added to GraphicsContext class docs, in
> the table "List of Rendering Attributes".
> And reference to new image smoothing attribute shall be mentioned in the
> description of drawImage()
> *****************************************************************
>       * <p>
>       * This method will be affected by any of the
>       * <a href="#comm-attr">global common</a>
> +     * or <a href="#image-attr">image</a>
>       * attributes as specified in the
>       * <a href="#attr-ops-table">Rendering Attributes Table</a>.
>       * </p>
> *****************************************************************
>
> Regards,
> Ambarish
>
> -----Original Message-----
> From: Kevin Rushforth
> Sent: Tuesday, October 16, 2018 4:25 AM
> To: Dan Howard <sproket at videotron.ca>; Ambarish Rapte <
> ambarish.rapte at oracle.com>; openjfx-dev at openjdk.java.net
> Subject: Re: Fix proposal: boolean flag & public API for JDK-8204060 -
> Disable smoothing at javafx.scene.canvas.GraphicsContext.drawImage()
>
> Yes, it should be "isImageSmoothing", thanks for catching this!
>
> This looks good to me to other than that.
>
> The only other comment is that when you write the docs, make sure you
> indicate that this applies to drawImage calls, both in the docs of the new
> setImageSmooth method, and in the docs of the drawImage calls.
> Perhaps you post the proposed javadoc changes, since they will be needed
> for the CSR?
>
> -- Kevin
>
>
> On 10/15/2018 3:36 PM, Dan Howard wrote:
> > Shouldn't it be "is" rather than "get" for boolean?  Other than that,
> > sounds good!
> >
> >
> > On 10/15/2018 3:29 PM, Ambarish Rapte wrote:
> >> Hi All,
> >>
> >>
> >> This email is for discussion regarding the fix
> >> https://bugs.openjdk.java.net/browse/JDK-8204060 .
> >>
> >>
> >> Issue:
> >>
> >> Images drawn using javafx.scene.canvas .GraphicsContext::drawImage()
> >> always apply filtering to the image.
> >>
> >>
> >> Solution:
> >>
> >> javafx.scene.canvas.GraphicsContext should provide an option to
> >> enable and disable smoothing.
> >>
> >>
> >> Proposal:
> >>
> >> Adding a Boolean flag & APIs to control smoothing.
> >>
> >>
> >> Add a boolean flag to control smoothing Add two public APIs
> >>
> >> public void setImageSmoothing(boolean imageSmoothing) {} to enable or
> >> disable smoothing.
> >> public boolean getImageSmoothing() {}
> >>
> >> If image smoothing is true, images will be scaled using a higher
> >> quality filtering when transforming or scaling the source image to
> >> fit in the destination rectangle.
> >> If image smoothing is false, images will be scaled without filtering
> >> (or by using a lower quality filtering) when transforming or scaling
> >> the source image to fit in the destination rectangle.
> >>
> >>
> >> Please provide your comments on the proposal.
> >>
> >>
> >>
> >> Regards,
> >>
> >> Ambarish
> >>
> >
>
>


More information about the openjfx-dev mailing list