You are viewing a plain text version of this content. The canonical link for it is here.
Posted to batik-dev@xmlgraphics.apache.org by Stephane Hillion <St...@sophia.inria.fr> on 2000/12/06 22:29:38 UTC

[commit] CSS parser & DOM (READ THIS, IMPORTANT CHANGES)

Hi all,

Two things:
- a lot of files have changed because I am currently implementing
SVG DOM elements and I am changing SVG constants names. I also changed
few things in DOM core, I removed dependencies of SVG DOM with the
bridge and I modified test files which made a bad use of DOM (default
constructor of nodes is now protected).
- I commited a CSS parser.

    <IMPORTANT>

        The viewer now use this new CSS parser. While it is fully
functional, it is in an early stage (I started to code it on monday), so
if you have any problem with the viewer, switch to the old one:
    - edit
resources/org/apache/batik/apps/resources/Application.properties,
    - comment the line 'org.w3c.css.sac.parser =
org.apache.batik.css.parser.Parser',
    - uncomment the line '#org.w3c.css.sac.parser =
org.w3c.flute.parser.Parser',
    - test your file again and send me a bug report if the problem is
always here ;)

    </IMPORTANT>

FYI, I made simple benchmark: I made 2 series of 4 'moscow.svgz' loading
(this file has a lot of 'style' attributes) with each parser - just by
changing the parser class in Application.properties. Here are the
results (the numbers represent the GVT building time in seconds):
    With the old parser:
        serie 1: 16.6 19.7 19.5 19.3    serie 2: 16.5 19.7 19.3 19.3
    With the new one:
        serie 1: 15.4 17.7 16.5 16.7    serie 2: 13.6 17.0 16.6 16.6
--
    Stephane.

CVS: Modified Files:
CVS:
resources/org/apache/batik/apps/svgviewer/resources/Application.properties

CVS:    sources/org/apache/batik/apps/applet/JSVGApplet.java
CVS:    sources/org/apache/batik/apps/svgviewer/ViewerFrame.java
CVS:    sources/org/apache/batik/css/svg/BaselineShiftFactory.java
CVS:    sources/org/apache/batik/css/svg/DefaultSVGCSSContext.java
CVS:    sources/org/apache/batik/css/svg/EnableBackgroundResolver.java
CVS:    sources/org/apache/batik/css/svg/SVGCSSContext.java
CVS:    sources/org/apache/batik/css/svg/SVGViewCSS.java
CVS:    sources/org/apache/batik/css/svg/StrokeDasharrayFactory.java
CVS:    sources/org/apache/batik/css/svg/StrokeDashoffsetFactory.java
CVS:    sources/org/apache/batik/css/svg/StrokeDashoffsetResolver.java
CVS:    sources/org/apache/batik/css/svg/StrokeWidthFactory.java
CVS:    sources/org/apache/batik/css/svg/StrokeWidthResolver.java
CVS:    sources/org/apache/batik/css/value/AbstractLengthFactory.java
CVS:    sources/org/apache/batik/css/value/FontFamilyResolver.java
CVS:    sources/org/apache/batik/css/value/FontSizeFactory.java
CVS:    sources/org/apache/batik/css/value/FontSizeResolver.java
CVS:    sources/org/apache/batik/css/value/LengthFactory.java
CVS:    sources/org/apache/batik/dom/AbstractNode.java
CVS:    sources/org/apache/batik/dom/GenericAttr.java
CVS:    sources/org/apache/batik/dom/GenericAttrNS.java
CVS:    sources/org/apache/batik/dom/GenericCDATASection.java
CVS:    sources/org/apache/batik/dom/GenericComment.java
CVS:    sources/org/apache/batik/dom/GenericDocument.java
CVS:    sources/org/apache/batik/dom/GenericDocumentFragment.java
CVS:    sources/org/apache/batik/dom/GenericElement.java
CVS:    sources/org/apache/batik/dom/GenericElementNS.java
CVS:    sources/org/apache/batik/dom/GenericEntity.java
CVS:    sources/org/apache/batik/dom/GenericEntityReference.java
CVS:    sources/org/apache/batik/dom/GenericNotation.java
CVS:    sources/org/apache/batik/dom/GenericProcessingInstruction.java
CVS:    sources/org/apache/batik/dom/GenericText.java
CVS:
sources/org/apache/batik/dom/StyleSheetProcessingInstruction.java
CVS:    sources/org/apache/batik/dom/svg/DefaultSVGContext.java
CVS:
sources/org/apache/batik/dom/svg/DefaultUnitProcessorContext.java
CVS:    sources/org/apache/batik/dom/svg/SVGClippingMaskingElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGContext.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMAElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMAnimatedLength.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMAnimatedNumber.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMAnimatedString.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMAnimatedTransformList.java

CVS:    sources/org/apache/batik/dom/svg/SVGOMCircleElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMClipPathElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMDefsElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMDescElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMDocument.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMEllipseElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEBlendElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEColorMatrixElement.java
CVS:
sources/org/apache/batik/dom/svg/SVGOMFEComponentTransferElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFECompositeElement.java
CVS:
sources/org/apache/batik/dom/svg/SVGOMFEConvolveMatrixElement.java
CVS:
sources/org/apache/batik/dom/svg/SVGOMFEDiffuseLightingElement.java
CVS:
sources/org/apache/batik/dom/svg/SVGOMFEDisplacementMapElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEDistantLightElement.java

CVS:    sources/org/apache/batik/dom/svg/SVGOMFEFloodElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEFuncAElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEFuncBElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEFuncGElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEFuncRElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEGaussianBlurElement.java

CVS:    sources/org/apache/batik/dom/svg/SVGOMFEImageElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEMergeElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEMergeNodeElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEMorphologyElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEOffsetElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFEPointLightElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFESpotLightElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMFilterElement.java
CVS:
sources/org/apache/batik/dom/svg/SVGOMFilterPrimitiveStandardAttributes.java

CVS:    sources/org/apache/batik/dom/svg/SVGOMGElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMImageElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMLength.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMLineElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMLinearGradientElement.java

CVS:    sources/org/apache/batik/dom/svg/SVGOMMaskElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMMetadataElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMPathElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMPatternElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMPolygonElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMPolylineElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMRadialGradientElement.java

CVS:    sources/org/apache/batik/dom/svg/SVGOMRectElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMSVGElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMScriptElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMStopElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMStyleElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMSwitchElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMSymbolElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMTRefElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMTSpanElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMTextElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMTextPathElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMTitleElement.java
CVS:
sources/org/apache/batik/dom/svg/SVGOMToBeImplementedElement.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMTransformList.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMUseElement.java
CVS:    sources/org/apache/batik/experiment/TextPathElement.java
CVS:
sources/org/apache/batik/refimpl/bridge/DefaultUnitProcessorContext.java

CVS:    sources/org/apache/batik/refimpl/bridge/SVGBridgeContext.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGCircleElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGClipPathElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGEllipseElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeBlendElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeColorMatrixElementBridge.java

CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeComponentTransferElementBridge.java

CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeCompositeElementBridge.java

CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeDisplacementMapElementBridge.java

CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeGaussianBlurElementBridge.java

CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeMergeElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeMorphologyElementBridge.java

CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeOffsetElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeTileElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGFeTurbulenceElementBridge.java

CVS:
sources/org/apache/batik/refimpl/bridge/SVGLinearGradientBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGMaskElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGPatternElementBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGRadialGradientBridge.java
CVS:
sources/org/apache/batik/refimpl/bridge/SVGRectElementBridge.java
CVS:    sources/org/apache/batik/refimpl/bridge/SVGUtilities.java
CVS:    sources/org/apache/batik/refimpl/transcoder/ImageTranscoder.java

CVS:    sources/org/apache/batik/script/test/ScriptDOMTest.java
CVS:    sources/org/apache/batik/util/SVGConstants.java
CVS:    sources/org/apache/batik/util/UnitProcessor.java
CVS:    sources/org/apache/batik/util/awt/svg/DOMTreeManager.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGAlphaComposite.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGBufferedImageOp.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGClip.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGConvolveOp.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGEllipse.java
CVS:
sources/org/apache/batik/util/awt/svg/SVGGraphicContextConverter.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGLinearGradient.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGLookupOp.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGRectangle.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGRescaleOp.java
CVS:    sources/org/apache/batik/util/awt/svg/SVGTexturePaint.java
CVS:    sources/org/apache/batik/util/awt/svg/TestUtil.java
CVS:    sources/org/apache/batik/util/awt/svg/XmlWriter.java
CVS: Added Files:
CVS:    sources/org/apache/batik/css/parser/CSSLexicalUnit.java
CVS:    sources/org/apache/batik/css/parser/CSSSACMediaList.java
CVS:    sources/org/apache/batik/css/parser/CSSSelectorList.java
CVS:    sources/org/apache/batik/css/parser/LexicalUnits.java
CVS:    sources/org/apache/batik/css/parser/ParseException.java
CVS:    sources/org/apache/batik/css/parser/Parser.java
CVS:    sources/org/apache/batik/css/parser/Scanner.java
CVS:    sources/org/apache/batik/css/parser/ScannerUtilities.java
CVS:
sources/org/apache/batik/dom/svg/DefaultAttributeValueProducer.java
CVS:    sources/org/apache/batik/dom/svg/ModificationHandler.java
CVS:    sources/org/apache/batik/dom/svg/SVGList.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMAnimatedEnumeration.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMAnimatedNumberList.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMNumber.java
CVS:    sources/org/apache/batik/dom/svg/SVGOMNumberList.java
CVS:    sources/org/apache/batik/util/InputBuffer.java
CVS: Removed Files:
CVS:    sources/org/apache/batik/dom/svg/AttributeModifier.java



Re: [commit] Selection gesture no longer produces redundant selection events

Posted by Bill Haneman <bi...@ireland.sun.com>.
Stephane Hillion wrote:
<...>

By the way - your email only appeared in my mailbox 5 minutes ago
(>1 hour after being sent).  In the future if you find something
urgent, it's probably best to CC the probable culprit :-)

-Bill

--------------
Bill Haneman
+1 353 1 849 0495

Re: [commit] Selection gesture no longer produces redundant selection events

Posted by Bill Haneman <bi...@ireland.sun.com>.
Stephane Hillion wrote:
> 
> I cannot compile anymore:

Sorry... try it now.  

I didn't commit the new Selectable (as I'm sure you figured out).

That's what I get for trying to do a limited commit, I guess :-(

-Bill

-- 
--------------
Bill Haneman
+1 353 1 849 0495

Re: [commit] Selection gesture no longer produces redundant selection events

Posted by Stephane Hillion <St...@sophia.inria.fr>.
I cannot compile anymore:

    [javac]
/0/koala/shillion/xml-batik/sources/org/apache/batik/refimpl/gvt/ConcreteTextNode.java:37:
selectAll(double,double,org.apache.batik.gvt.GraphicsNodeRenderContext)
in org.apache.batik.refimpl.gvt.ConcreteTextNode cannot implement
selectAll(double,double,org.apache.batik.gvt.GraphicsNodeRenderContext)
in org.apache.batik.gvt.Selectable; attempting to use incompatible
return type
    [javac] found   : boolean
    [javac] required: void
    [javac] public class ConcreteTextNode
    [javac]        ^
    [javac]
/0/koala/shillion/xml-batik/sources/org/apache/batik/refimpl/gvt/text/ConcreteTextSelector.java:155:
incompatible types
    [javac] found   : void
    [javac] required: boolean
    [javac]                     boolean result = ((Selectable)
source).selectTo(p.getX(), p.getY(),

[javac]
^
    [javac] 2 errors



[commit] Selection gesture no longer produces redundant selection events

Posted by Bill Haneman <bi...@ireland.sun.com>.
I have changed text selection (and selection in general) so that
redundant selection change events are not created.

Selector's selectTo() method now returns a boolean which indicates
whether
the result of te selectTo action is expected to change the current
selection (it's conservative, so it may be that the actual current
selection's content is unchanged even if selectTo returns true,
but if selectTo returns false, one can be assured that the selection 
has not changed as a result of the action).

The text node's implementation now returns true 
(in general) only when the character index resulting 
from a selection gesture has changed.

-Bill

-- 
--------------
Bill Haneman
+1 353 1 849 0495