Uploaded image for project: 'Harmony'
  1. Harmony
  2. HARMONY-5258

[classlib][awt] Graphics draw and fill methods work incorrectly with AlphaComposite different from AlphaComposite.Src

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • None
    • 5.0M4
    • Classlib
    • None
    • Linux
    • Patch Available

    Description

      Graphics draw and fill methods work incorrectly with AlphaComposite different from AlphaComposite.Src

      Simple reproducer:
      import java.io.*;
      import java.awt.*;
      import java.awt.image.*;
      import javax.swing.*;

      public class FillRectTest extends JFrame {
      public static void main(String[] args){
      final FillRectTest test = new FillRectTest();
      test.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
      test.setSize(200, 200);
      test.add(new Panel(){
      public void paint(Graphics g)

      { Composite composite = AlphaComposite.Clear; int w = getWidth(); int h = getHeight(); g.setColor(Color.green); g.fillRect(0, 0, w, h); Graphics2D g2d = (Graphics2D)g; g2d.setColor(Color.red); g2d.setComposite(composite); g2d.fillRect(w/4, h/4, w/2, h/2); }

      });
      test.setVisible(true);
      }
      }

      Attachments

        1. H-5258.patch
          3 kB
          Igor V. Stolyarov
        2. Harmony.PNG
          3 kB
          Igor V. Stolyarov
        3. RI.PNG
          2 kB
          Igor V. Stolyarov

        Activity

          People

            cap Alexey Petrenko
            ivstolyarov Igor V. Stolyarov
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: