[Top][All Lists]
[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 ===