1. 24 Apr, 2005 2 commits
  2. 13 Apr, 2005 2 commits
    • Enrico Ros's avatar
      Using line width property. Line width follows scaling. · ed41c2e2
      Enrico Ros authored
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405443
      ed41c2e2
    • Enrico Ros's avatar
      Highlight annotations: ok · e8f27fc7
      Enrico Ros authored
      PagePainter:
        Updated drawShape with RasterOperation (Normal, Multiply) for getting
        Highlight annotation types to work. All Highlight annotations are now
        drew using the Multiply raster operation.
      
      Painter_AGG2:
        Replaced the agg_pixfmt_rgba.h pixformat definition template with an
        internal version that implements different raster operations too. The
        new version has been shrinked to the minimum, containing the only code
        needed by kpdf AGG2 rendering engine to work.
      
      Thanks for Rob Buis for telling me the way to go and providing sample code
      with his AGG2 algorithms.
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405338
      e8f27fc7
  3. 12 Apr, 2005 1 commit
    • Enrico Ros's avatar
      Painter_AGG2: · c5b694d0
      Enrico Ros authored
        Part from the *very C00L* AGG2 library (www.antigrain.com) are imported
        from the agg23 source package. The imported files provides antialiased
        rendering on bgra32 qimage memory buffers.
        See "kpdf/ui/painter_agg2/README.kpdf" for more info.
      PagePainter:
        Replaced my dear crappy scanline renderer (well, was the fastest btw :-)
        with agg2 based rendering code.
        Implemented HighlightAnnotation (HL, Underline, Strikeout and Squiggly)
        and InkAnnotation (simple one) rendering.
        Need a multiply-blending template algo for getting highlights to look
        as highlighs (not solid or transparent, like now).
      Makefile.am(s):
        Updated to build the new library, set include paths and link it.
      
      Here we go.
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=405150
      c5b694d0
  4. 10 Apr, 2005 1 commit
  5. 08 Apr, 2005 1 commit
    • Enrico Ros's avatar
      Annotations: first drawing experiments. Some unbuffered annotations are · 55917105
      Enrico Ros authored
      drawn in page.
      
      PagePainter:
        Added 2 convenience function to change the alpha component of an image
        and do it while colorizing the image in a single pass.
        QPainter->drawPixmap unbuffered render for AText marks, AStamp pictures
        and AGeom of type InscribedSquare.
      
      Can't wait for Arthur's painter to do the full range of painting effects
      with a very simple interface, faster than my dirty implementation and
      over all: not crashing! (mine does! :-)
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=404088
      55917105
  6. 07 Apr, 2005 1 commit
    • Enrico Ros's avatar
      Document: · 57f0453b
      Enrico Ros authored
        Warning before running out of memory and stop pixmap request.
        CCMAIL: 103435@bugs.kde.org
      PagePainter:
        Not related to the bug: avoid scaling up slow pixmaps.
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403884
      57f0453b
  7. 04 Apr, 2005 1 commit
    • Enrico Ros's avatar
      Adapted to annotations.h changes. · b2b74d91
      Enrico Ros authored
      annotations.cpp is all commented out, need to work on that now.
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=403222
      b2b74d91
  8. 01 Apr, 2005 2 commits
  9. 24 Mar, 2005 1 commit
    • Enrico Ros's avatar
      Redesigned graphic pipeline on PagePainter and hand scaling (10x gain on · e5eb63ec
      Enrico Ros authored
      typical usage).
      
      PagePainter:
        Added 2 convenience methods for performing fast cropping and scaling
        from qpixmaps to qimages. Split buffered graphic flow from the unbuffered
        one reducing buffers conversions to the minimum. Avoid odd cases in
        rescaling. Detection of annotations boundaries to check for enabling
        buffered painting.
        Sample quick dirty and broken (but not so much..) implementation for
        painting AStamp annotations.
      Misc:
        PresentationWidged and ThumbnailWidget: adapted to PagePainter changes.
        (PageView mod has already been committed).
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=400310
      e5eb63ec
  10. 18 Mar, 2005 1 commit
    • Enrico Ros's avatar
      Another milestone has been reached: complete saving/restoring of · 1e9f0e59
      Enrico Ros authored
      annotations in the 'document tie file'. Every attribute of kpdf dss
      can be dumped to disk. Only rendering prevents HEAD merging now! :-)
      
      Annotations:
        Storage: full annotations saving/loding on the tied XML is implemented.
          every annotation put on a page (either loaded from a pdf or created
          internally is loaded and saved when opening/closing a document).
          Attributes are dumped to XML and reloaded from it via qdom
        DataStructures: internal changes, better naming, some attributes fused.
          PopupAnnotation has become WindowAnnotation
        PDF16Parser: 100% completeness for the types we support
      
      PDFGenerator:
        adapted to annotation ds changes. better parsing on a couple of attrs.
        correctly handle 'F'.
      
      Misc:
        Document: remove/cleanup debugs, Page: performance testing stuff added,
        PagePainter: setPen( annot->color ), PageV..or: typo,
        TODO: many changes
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=398789
      1e9f0e59
  11. 12 Mar, 2005 1 commit
    • Enrico Ros's avatar
      Adapted to changes in Annotation and children strcuts. · 3c6049f4
      Enrico Ros authored
      PagePainter:
        Only draw annotation extents (the rect property).
      PageViewAnnotator:
        Changed AnnotatorEngine(s) to deal with new attribs in structures. In
        particular they use the NormalizedRect attribute of annotation instead
        of the annotation as a rect itself.
      Todo:
        Updated.
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=396911
      3c6049f4
  12. 04 Mar, 2005 1 commit
    • Enrico Ros's avatar
      Annotations -Part2- PDF1.6 DSs are summarized and ready4impl in ann*.h · c6191c48
      Enrico Ros authored
      Annotation: the class has been passivized. It's only a data container now,
        no more active manipulation of events/paints.
      PageViewAnnotator: this class has been created to handle creating annots.
        PageView creates its 'Annotator on demand. The annotator parses tool
        definition from the 'tool.xml' file.
        The Annotator internally uses AnnotatorEngine(s) to react to mouse events
        and the annotation is created when the job is really finished.
      Page: added a (maybe temporary) NormalizedPoint to complement Norm..Rect.
      PageViewUtils: removed PageViewEditTools and cleaned up header.
      conf/: added a debug option for showing annotation boundary while creating
        one and added a temporary 'debug' toolbox in the config dialogs.
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=394959
      c6191c48
  13. 18 Feb, 2005 1 commit
    • Enrico Ros's avatar
      Adding support for annotations in framework. Only need to add and · fbc7d450
      Enrico Ros authored
      implement annotations now (and create the save/load procedure).
      
      Annotations: converging to a stable Annotation definition. Changed a bit
        the paint functions. Added a first 'template' annotation, a simple
        pen-like segments recorder for framework testing purposes only. This
        has events filters in place and the rough paint function implemented.
      
      PageView: removed the MouseEdit mode and using that button for toggling
        the editToolBox instead. Added Annotation support. When the Annotation
        is created, all pageView events flow through that new object. Repaint
        of damaged/old areas is done internally and is based on the geometry
        of the annotation we're creating. When an Annotation is complete, it
        is reparented to the Page that adds it to its internal list.
        From that point on the annotation will be rendered by pagePainter
        using the pixmap-based paint function provided by the annotation
        itself.
      
      PagePainter: draws annotations stored in pages when rendering (using the
        'rought paint function' till the good pixmap based one will be in
        place.
      
      Page: added preliminary support for adding Annotation(s) to the page
        and deleting them all.
      
      Document: added the pass-through call to add an Annotation to the Page
        and notify observers.
      
      PageViewToolbox: can be draged and attached to any side. Position is
        remembered between runs (choose your side and that the toolbox will
        always be there). Available on Right and Bottom sides too. Emits -1
        when the current tool is deselected.
      
      Misc: added Annotations to both the 'observers changed flags' and the
        'pagepainter' ones and updated ui classes accordingly.
      
      svn path=/branches/kpdf_annotations/kdegraphics/kpdf/; revision=390638
      fbc7d450
  14. 09 Feb, 2005 2 commits
  15. 08 Feb, 2005 1 commit
  16. 03 Feb, 2005 1 commit
  17. 02 Feb, 2005 1 commit
  18. 01 Feb, 2005 1 commit
  19. 27 Jan, 2005 1 commit
    • Enrico Ros's avatar
      Implemented history (implementation is inside Document. actions (2) are in · 93c1d384
      Enrico Ros authored
       Part). Implemented 'history (xpdf's LinkAction) links'. History depth is
       100 steps by default (this is enough for sure, clicking 100 times on a
       button is not an easy task :-).
      
      Minor issues (removed half TODOs in code, all FIXMEs are already removed):
      Invoke mailer on 'mailto:' links inst instead of konqueror.
      Actions cleanup: disable actions like 'print', 'preview', 'save to..', etc
       when there isn't an active document. Added history actions to the toolbar
       in place of the 'prev_page' and 'next_page' ones. Fixed open+open_recent
       action tooltip and behavior.
      Move definition and implementation of PagePainter class to ui/pagepainter
       from core/page.
      Valgrinded and leakchecked (2 memory leaks spotted and fixed (missing
       contents deletion in KPDFGeneratorThread and missing deletion of
       PixmapRequests on cancel in Document::requestPixmaps())).
      
      svn path=/trunk/kdegraphics/kpdf/; revision=382960
      93c1d384
  20. 18 Jan, 2005 1 commit
    • Enrico Ros's avatar
      For Users: · 962f891b
      Enrico Ros authored
      Display contents faster, waste less memory. Added preloading to forward-
      generate pages (if threading enabled and memory profile >= normal). Main
      pages are always generated first, then thumbnails come, then preload ones,
      etc.. Btw memory and cpu will be happier now.
      (1 bug in memory and 1 in preloading still remains.. will be spotted soon)
      
      For Developers:
      Generator: dropped moc, api changes, better functions naming.
      PDFGenerator and Document: moved requests queue to the Document.
         The generator performs only a single request a time. A flag can be
         queried to know if the generator is ready for starting another pixmap
         generation or not (in case it's generating a pixmap in background).
      PixmapRequest: added priority and backgound (async) attributes.
      Document: queuing requests by priority in requestPixmaps.
      Observer: added defines for priorities used in doc->requestpixmaps.
      PageView: delayed find-ahead timer creation (not created if not needed).
         Added preload PixmapRequests to the pixmap requests list.
      ThumbnailsList: adapted to pixmapRequest changes and changed naming for
         delayed thumbanils request.
      
      svn path=/trunk/kdegraphics/kpdf/; revision=379820
      962f891b
  21. 17 Jan, 2005 1 commit
  22. 10 Jan, 2005 1 commit
  23. 08 Jan, 2005 3 commits
  24. 02 Jan, 2005 6 commits