gpaint-develop
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Gpaint-develop] Gpaint development update


From: Andy Tai
Subject: Re: [Gpaint-develop] Gpaint development update
Date: Sat, 30 Aug 2003 14:14:23 -0700 (PDT)

Michael, thanks for the update!  Looks like gpaint now
has a much better infrastructure!  This is great
improvement that has been much needed for future
development!

Andy
 
--- Michael Meffie <address@hidden> wrote:
> Hello,
> 
> Since the beginning of this year, I have been
> developing gpaint
> in the gnome-1-develop CVS branch on savannah.  I
> can
> dedicate only a few hours a week on this effort, it
> has been
> a slow process.  My goal has been to organize Andy's
> original
> code, to make it more modular, and to remove any
> possible
> unused code.   This started as an idea on how to
> better 
> implement the paint tool code, to be more object
> oriented as
> done in GIMP.  The idea is to improve the modularity
> of the
> code before we embark on adding any new major
> features, such
> as undo/redo and zooming.
> 
> At this point, I have nearly completed this task. I
> am still
> working on the cut/copy/paste features, and need to
> do much
> testing.  I have been calling this release "giotto",
> after
> the famuous painter :)
> 
> What follows is a description of the modules and
> structures.  
> New modules are denoted with a (+) before the name.
> 
> New Structures
> 
>     The image_buf structure has been split into
> several 
>     structures. 
> 
>     gpaint_image     wrapper for GdkPixbuf, used for
> x-client
>                      side image processing          
>          
>     
>     gpaint_point     for processing of mouse events
>     
>     gpaint_tool      drawing tool interface
>     
>     gpaint_selection selected points for copy/paste
>     
>     gpaint_drawing   drawing object, the x-server
> side backing
>                      pixmap of the drawing.
>     
>     gpaint_canvas    top level object that contains
> the
>                      drawing area, drawing, and
> current
>                      tool object.
> 
> 
> Glade Generated Files
> 
>     These files are generated by glade and are
> overwritten
>     when glade rebuilds the source files.
>     
>     ui.c              Layout of all GUI elements.
>     
>     support.c         Autogenerated
>  
>  
> Glade Generated Skeleton Files 
> 
>     These files are appended to by glade, so can be
> edited.
>                       
>     callbacks.c       Callbacks skeletons. The calls
> have been
>                       moved to the appropriate GUI
> modules.
>                   
>     main.c            Application entry point.
> Creates the top 
>                       level window object and passes
> the command
>                       line parameters.
> 
> 
> GUI Modules
> 
>     These files manage the user interface. They
> initialize the
>     GUI components and handle gtk callback events.
> 
> (+) canvas.c          Canvas object contains the
> GtkDrawingArea
>                       in the GtkScrollFrame.  Events
> on the drawing
>                       area are dispatched to the
> current drawing
>                       tool object to change the
> drawing accordingly.
>   
> (+) file.c            File save and save as dialogs.
> 
> (+) menu.c            Callbacks for the main menu
> and toolbar
>                       buttons. 
> 
>     print.c           Print and print preview
> dialogs.
>                       (Essentially no changes from
> the previous 
>                       gpaint version.)
>     
> (+) about.c           Displays the application
> version in the
>                       about box.
> 
> (+) color_palette.c   Creates the color selection
> palette toolbar
>                       and handles background and
> foreground color
>                       selections.
>                       
> (+) tool_palette.c    Creates the drawing tool
> selection tool bar
>                       and handles the changing of
> the drawing tool
>                       object. Each tool object is
> created in this
>                       module.
>                       
>     gtkscrollframe.c  GtkScrollFrame to create a
> scrollable
>                       drawing area. This has not
> been changed
>                       from the previous version of
> gpaint.
>     
>     pixmaps.c         Include pixmaps for the tool
> palette 
>                       and about box. 73 kbytes of
> unused bitmaps
>                       have been removed.
> 
> 
> Image Processing
> 
> (+) drawing.c         Contains the backing pixmap of
> the current
>                       drawing and the selected area
> for cut, copy
>                       and paste operations. The
> backing pixmap 
>                       is stored within the X server
> and is used
>                       to repaint the image when the
> drawing area
>                       is exposed.
>     
> (+) image.c           Wrapper for the client side
> RGB pixel map.
>                       Structure is called
> gpaint_image.
>     
>     image_processing.c  Image processing functions
> from XPaint.
>                       Only minor changes were made
> to use the 
>                       gpaint_image instead of the
> old image_buf.
> 
> 
> Drawing Tool Objects
> 
>     These modules contain the code for the drawing
> tool objects.
>     The drawing functions are implemented with the
> GDK functions.
> 
> (+) pen.c             Pen tool for drawing freeform
> lines.
> 
> (+) brush.c           Paint brush and eraser tool.
> 
> (+) shape.c           Tools for drawing ovals,
> rectangles, curves
>                       straight lines, and
> multi-lines
>                       
> (+) select.c          Lasso and polygon selection
> tool.
> 
> (+) text.c            Tool for writing text.
> 
> (+) fill.c            Fill tool for filling an
> enclosed region.
> 
> 
=== message truncated ===





reply via email to

[Prev in Thread] Current Thread [Next in Thread]