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