<AWT Dev> [9] Review request for 8033534 Get MultiResolution image from native system

Alexander Scherbatiy alexandr.scherbatiy at oracle.com
Tue Mar 4 11:04:55 UTC 2014


   Hello,

  Could you review the updated fix:
    http://cr.openjdk.java.net/~alexsch/8033534/webrev.04

   - NULL is returned for all cases from the 
nativeGetNSImageRepresentationsCount method
   - long lines are split
   - SetObjectArrayElement can throw ArrayIndexOutOfBoundsException and 
ArrayStoreException exceptions.
     We do not expect neither of them because the same length and type 
is used for the array creation and element settings.
     I updated the exception handling to return NULL if an exception occurs.

   Thanks,
   Alexandr.


On 3/3/2014 11:48 PM, Sergey Bylokhov wrote:
> Hi, Alexander.
> nativeGetNSImageRepresentationsCount three times return different 
> values in case of error (0, NULL, nil).
> What exception we expect from the SetObjectArrayElement and why we 
> continue in this case?
> Also please split soooooooooooooo long lines in these files.
>
> On 2/26/14 6:40 PM, Alexander Scherbatiy wrote:
>>
>>  Hello,
>>
>>   Could you review the updated fix:
>> http://cr.openjdk.java.net/~alexsch/8033534/webrev.03/
>>
>> On 2/26/2014 4:54 PM, Petr Pchelko wrote:
>>> Hello, Alexander.
>>>
>>> I have a couple of comments:
>>>
>>> 1. You could replace the first loop with indexOfObjectPassingTest 
>>> method.. Not sure if this would look cleaner, up to you.
>>     Updated. There is one more way to use one loop instead of two. 
>> All of them does not look simple.
>>
>>>   2. I suppose JNFNewObjectArray could throw the OOM and we would 
>>> get a parfait warning, could you please add CHECK_NULL_RETURN after it.
>>     CHECK_NULL_RETURN is added.
>>> 3. In CImage.java you are setting the currentImageIndex to the 
>>> biggest image representation smaller that the one requested and this 
>>> representation
>>> would be used as a base one in the MultiResolutionBufferedImage. 
>>> However in MultiResolutionBufferedImage getResolutionVariant you are 
>>> returning
>>> the smallest variant bigger than the requested one. Is this correct?
>>     I think that it is correct. Assume that an image with size 
>> 300x300 is requested but there are only resolution variants with 
>> sizes [250x250] and [350x350].
>>     The resolution variant with  [350x350] size is used as the base 
>> image.  Now we need to draw the image to region [300x300]. The 
>> resolution variant
>>     with size [350x350] will be used from the MultiResolution image.
>>
>>   Thanks,
>>   Alexandr.
>>
>>
>>>
>>> Thank you.
>>> With best regards. Petr.
>>>
>>> On 26.02.2014, at 16:08, Alexander Scherbatiy 
>>> <alexandr.scherbatiy at oracle.com> wrote:
>>>
>>>>   Hello,
>>>>
>>>>   Could you review the updated fix:
>>>> http://cr.openjdk.java.net/~alexsch/8033534/webrev.02/
>>>>
>>>>   This is the same fix. The only difference is that the 
>>>> MultiResolutionBufferedImage class is used from the fix JDK-8035069.
>>>>
>>>>   Thanks,
>>>>   Alexandr.
>>>>
>>>>
>>>> On 2/10/2014 7:05 PM, Scott Palmer wrote:
>>>>> Just to be clear, "the image representations are chosen to be 
>>>>> closest to the requested size" is not accurate.
>>>>> This change returns the smallest image representation that is 
>>>>> greater than or equal to the requested size.  (Which I believe is 
>>>>> the correct thing to do.)
>>>>> A smaller image representation may be closer to the requested 
>>>>> size, but it makes more sense to return a larger image since 
>>>>> scaling down to size should produce better results than scaling up.
>>>>>
>>>>> Scott
>>>>>
>>>>>
>>>>> On Mon, Feb 10, 2014 at 8:53 AM, Alexander Scherbatiy 
>>>>> <alexandr.scherbatiy at oracle.com 
>>>>> <mailto:alexandr.scherbatiy at oracle.com>> wrote:
>>>>>
>>>>>
>>>>>     Could you review the updated fix:
>>>>> http://cr.openjdk.java.net/~alexsch/8033534/webrev.01
>>>>> <http://cr.openjdk.java.net/%7Ealexsch/8033534/webrev.01>
>>>>>
>>>>>      - The image representations are chosen to be closest to the
>>>>>     requested size.
>>>>>
>>>>>       Thanks,
>>>>>       Alexandr.
>>>>>
>>>>>
>>>>>     On 2/4/2014 5:00 PM, Sergey Bylokhov wrote:
>>>>>
>>>>>         Hi, Alexander.
>>>>>         I think that getResolutionVariant should return an image 
>>>>> which
>>>>>         is close as much as possible to the requested size.
>>>>>
>>>>>         On 04.02.2014 16:42, Alexander Scherbatiy wrote:
>>>>>
>>>>>
>>>>>             Hello,
>>>>>
>>>>>             Could you review the fix:
>>>>>               bug: https://bugs.openjdk.java.net/browse/JDK-8033534
>>>>>               webrev:
>>>>> http://cr.openjdk.java.net/~alexsch/8033534/webrev.00
>>>>> <http://cr.openjdk.java.net/%7Ealexsch/8033534/webrev.00>
>>>>>
>>>>>             - The method that gets a sorted array of NSImage
>>>>>             representaion pixel sizes for the given image size is 
>>>>> added
>>>>>             - A MultiResolution image is created if an NSImage has
>>>>>             several representations for the given image size
>>>>>
>>>>>             Thanks,
>>>>>             Alexandr.
>>>>>
>>>>>
>>>>>
>>>>>
>>>>>
>>
>
>
> -- 
> Best regards, Sergey.



More information about the awt-dev mailing list