2000-18-07 Rolf W. Rasmussen * BorderLayoutTest.java: Show off padding * ImageTest.java: Show off transparent image drawing. * java/awt/BorderLayout.java: Do not calculate maximum size. * java/awt/Component.java (getForeground): Return null if unknown. (getMaximumSize): Default to MAX_VALUE x MAX_VALUE. * java/awt/Container.java: (validateTree) Send endValidate message to peer. * java/awt/Graphics.java: Better parameter names. * java/awt/Graphics2D.java: New file. * java/awt/Window.java: (pack) New packing strategy. * java/awt/image/BufferedImage.java: Reversed getGraphics/ createGraphics dependency. (getSubimage): Use correct sub-raster. * java/awt/image/ComponentSampleModel.java: Removed invalid use of InternalError. * java/awt/image/DirectColorModel.java (getAlpha): Return 0 if no alpha. * java/awt/image/PackedColorModel.java (initMasks): Use correct mask array to calculate bit shifts. * java/awt/image/SinglePixelPackedSampleModel.java (getDataElements): Use no.rwr.data.Buffers support to manipulate data buffers. * java/awt/peer/ComponentPeer.java: Docs. * java/awt/peer/ContainerPeer.java (endValidate): New method. * jcnix/java/awt/peer/FramePeer.java: New file. * javax/swing/JLabel.java: Doc fix. * no/rwr/awt/AbstractGraphicsState.java: New file for the Java2D rendering pipeline. * no/rwr/awt/DirectRasterGraphics.java: Ditto. * no/rwr/awt/Graphics2DImpl.java: Ditto. * no/rwr/awt/IntegerGraphicsState.java: Ditto. * no/rwr/awt/MappedRaster.java: Ditto. * no/rwr/awt/x/XCanvasPeer.java (getGraphics): Now returns a Graphics2D object. (setBounds): Restrict minimum size and flush. (setEventMask): Use template method to retrieve basic event mask. (getBasicEventMask): New method. * no/rwr/awt/x/XEventLoop.java: Field renaming, allow null events. (createEvent): Return null on ignored events. (configureNotify): New method. Handle window manager controlled frame resizing. * no/rwr/awt/x/XFramePeer.java (XFramePeer): Only set defaults if properties are currently unset. (initWindowProperties): Move setting WMSizeHints to setResizable. (getBasicEventMask): New method. (configureNotify): New method. Handle window manager controlled frame resizing. (setBounds): New method. Avoid recursive setBounds loop. (endValidate): New method. Update WMSizeHints after validation. (setResizable): New method. Set WMSizeHints. * no/rwr/awt/x/XGraphics.java: Heavily modified for the Java 2D rendering pipeline. No longer extends Graphics, but rather implements DirectRasterGraphics. * no/rwr/awt/x/XGraphicsConfiguration.java (createCompatibleImage): Create and connect Raster (with data buffer) and XImage. (createRasterForXImage): New method. * no/rwr/awt/x/XPanelPeer.java (endValidate): New method. NOP. * no/rwr/data/Buffers.java (getData): New method. Copy data from array contained in data buffer. * no/rwr/plaf/GLabelUI.java (paint): Fixed offset calc. * no/rwr/x/Display.java: Removed dead code. * no/rwr/x/Drawable.java (copyIntoXImage): New method. (_copyIntoXImage): Ditto. (getBounds): Ditto. * no/rwr/x/natDrawable.cc: New file. Implementation for _copyIntoXImage and getBounds. * no/rwr/x/GC.java: Rewrite. Don't second guess the Xlib GC cache. * no/rwr/x/natGC.cc: Ditto. * no/rwr/x/WindowAttributes.java: Trivial layout changes. * no/rwr/x/XAnyEvent.java: More event types. * no/rwr/x/XConfigureEvent.java: New event class. * no/rwr/x/natXConfigureEvent.cc: Ditto. * no/rwr/x/natDisplay.cc (handleXError): Ignore X_GetImage request errors. * no/rwr/x/natWindow.cc (setWMProtocols): Fixed error handling. (getWMProtocols) Ditto. (setBounds) Ditto. * LabelTest.java: Trivial import fix. * no/rwr/awt/LightweightRedirector.java: Ditto. * no/rwr/awt/swingpeer/SButtonPeer.java: Ditto. * notes/Rendering_pipeline_design.txt: New file. 2000-07-07 Rolf W. Rasmussen * AWTDemo.java: Added AWT button to test, and added an action handler. * LabelTest.java: New file. Program that tests JLabel. * Makefile.src: Added LabelTest target, and fixed typo. * java/awt/BorderLayout.java: Removed superfluous return statement. * java/awt/Button: New file. * java/awt/Component.java: Implemented proper tracking of activated event masks. Font fixes, misc. trivial changes. (setBounds): Invalidate on reshape. (isLightweight): Heavy if peer not yet attached. (getFontMetrics): Implemented. (repaint): Reordered method dependencies. (dispatchEvent): Let peer process event before returning. ({add|remove}MouseListener): Modify event mask. (changeListenerEventMask): New support method. (fireEventMaskChange): Ditto. (getEventMask): Ditto. (coalescePaintEvents): Added docs. (addNotify): Docs, tell peer about event mask. (addNotifyContainerChildren): New template method. * java/awt/Container.java (addImpl): consider event mask of child. (changeChildrenEventMask): New support method. (lightweightChildEventMaskChanged): Ditto. (addNotify): Removed obsolete comment. (addNotifyContainerChildren): Implementation of new template method. (getEventMask): New support method. * java/awt/Toolkit.java (createButton): Implemented. (getFontMetrics): Implemented. (getDesktopProperty): Partially uncommented. * java/awt/Window.java: Fixed typo. * java/awt/peer/ComponentPeer.java (setEventMask): Added, so that peers can be informed of the event mask. * javax/swing/Icon.java: New file. Complete. * javax/swing/ImageIcon.java: New file. Mostly implemented. * javax/swing/JLabel.java: Ditto. * javax/swing/SwingConstants.java: New file. Complete. * javax/swing/UIManager.java: Added JLabel to hardwiring. * javax/swing/border/EmptyBorder.java: New file. Complete. * javax/swing/plaf/ComponentUI.java: Doc fixes. * javax/swing/plaf/LabelUI.java: New file. Complete. * no/rwr/awt/EventConstants.java: New file. Temporary class that contains constants that should be implemented in java.awt.Event. * no/rwr/awt/GLightweightPeer.java (setEventMask): New NOP method. * no/rwr/awt/LightweightRedirector.java: Trivial changes. * no/rwr/awt/swingpeer/SButtonPeer.java: New file. An AWT button peer implemented by looping back paint requests and events to an JButton. * no/rwr/awt/x/XCanvasPeer.java: Docs. Event mask support. * no/rwr/awt/x/XFramePeer.java: Added font and color defaults. * no/rwr/awt/x/XGraphicsConfiguration.java: Trivial indenting changes. * no/rwr/awt/x/XToolkit.java (createButton): Implemented. (getFontMetrics): Ditto. * no/rwr/plaf/GButtonUI.java: Trivial changes. * no/rwr/x/{nat|}Window.java (setBounds): Implemented reshaping of X windows. 2000-07-02 Rolf W. Rasmussen * java/awt/EventQueue.java: Implemented proper posting and queueing. * no/rwr/image/Renderers.java: Simplified code to work around compiler bug. * no/rwr/awt/x/XGraphicsConfiguration.java: Added pseudo color support. * no/rwr/awt/x/XEventLoop.java: New file, replacement for most of XEventQueue. * no/rwr/awt/EventPump.java: New file, general event pump runner. * no/rwr/awt/x/XEventQueue.java: Removed code now covered by XEventLoop and EventPump. * no/rwr/awt/x/XGraphics.java: Clip size of image rendering. * java/awt/Component.java: Paint event coalescing. 2000-07-01 Rolf W. Rasmussen * no/rwr/image/hermes/HermesConvertOp.java: Simplified code to work around compiler bug. * no/rwr/awt/x/XToolkit.java: Ditto * java/awt/Panel.java: Added missing import statement. * java/awt/peer/ContainerPeer.java: Ditto * no/rwr/x/natDisplay (waitForEvents): Throw exception on error. * java/awt/image/BufferedImage.java: NullPointer fix for properties. * java/awt/Component.java (createImage): Implemented. * ImageTest.java: New test program. * no/rwr/awt/x/XGraphics.java: Only bother to draw image within clip.