aboutsummaryrefslogtreecommitdiff
path: root/src/ld-canvas.c
Commit message (Collapse)AuthorAgeFilesLines
* Add a "zoom" property to LdCanvas.Přemysl Janouch2011-01-091-6/+71
|
* Add hide_terminals() to LdCanvas.Přemysl Janouch2011-01-091-3/+11
|
* Fix comments.Přemysl Janouch2011-01-091-4/+4
|
* Draw diagram objects in reversed order.Přemysl Janouch2011-01-091-5/+5
| | | | Previously older objects drew on top of newer ones.
* Replace GSList with GList in LdDiagram.Přemysl Janouch2011-01-091-9/+9
| | | | This has been an unnecessary limitation.
* When zooming, focus on the cursor.Přemysl Janouch2011-01-091-0/+13
|
* Highlight symbol terminals on mouse hover.Přemysl Janouch2011-01-091-0/+114
|
* Refactor queue_object_redraw().Přemysl Janouch2011-01-091-15/+27
|
* Take a better approach to drawing the grid.Přemysl Janouch2011-01-081-4/+6
| | | | If the diagram is zoomed out too much, just use bigger steps between dots.
* Don't draw the grid when it would be too narrow.Přemysl Janouch2011-01-081-0/+3
| | | | This prevents eating all the memory.
* Make LdCanvas zoom on mouse wheel.Přemysl Janouch2011-01-081-5/+42
|
* Introduce LdRectangle, LdPoint and LdPointArray.Přemysl Janouch2011-01-081-55/+17
| | | | Remove LdCanvasRect and LdSymbolArea.
* Allow object selection in LdCanvas.Přemysl Janouch2011-01-071-41/+111
| | | | Refactor a part of LdCanvas in the process.
* Introduce structure LdCanvasRect.Přemysl Janouch2011-01-061-1/+40
| | | | | It's basically the same as cairo_rectangle_t, just in our own namespace.
* Change symbol clip tolerance to widget units.Přemysl Janouch2011-01-061-9/+9
| | | | As line width is in pixels, too, this makes much more sense.
* Redraw LdCanvas on LdDiagram changes.Přemysl Janouch2011-01-051-0/+31
|
* Add new objects to the start of LdDiagram's list.Přemysl Janouch2011-01-051-1/+1
| | | | | This way it doesn't have to go through the whole linked list to find a place for the objects.
* Draw selected objects with another color.Přemysl Janouch2011-01-051-5/+67
| | | | | | | | Store all colors in LdCanvasPrivate and initialize them upon object creation. This creates a base for color themes. Make attempts to try adding an object that's not a part of the document to the selection issue a warning.
* Move lines around. No functional change.Přemysl Janouch2011-01-041-23/+21
|
* Make adding symbols to the diagram possible.Přemysl Janouch2011-01-041-2/+253
| | | | | | This required creating a simple framework for operations to LdCanvas. It is probable that it's going to require some changes when other operations are added. The basic idea behind it seems to be good, though.
* Fix the "library" property in LdCanvas.Přemysl Janouch2011-01-041-1/+1
|
* Partial refactoring of LdCanvas.Přemysl Janouch2011-01-041-48/+87
| | | | draw_symbol() had been doing too much.
* Split in-out parameters into separate in and out.Přemysl Janouch2011-01-031-23/+27
| | | | | | In functions: ld_canvas_diagram_to_widget_coords() ld_canvas_widget_to_diagram_coords()
* Fix problems discovered while testing on Windows.Přemysl Janouch2010-12-201-2/+10
| | | | | | | * Set the working directory for glib-genmarshal correctly. * Use one more path suffix when searching for glibconfig.h. * Don't assume that gdk_screen_get_resolution() returns a useful value.
* LdCanvas maintenance.Přemysl Janouch2010-12-181-23/+25
| | | | | | | | * Rename ld_canvas_translate_*_coordinates() to ld_canvas_*_to_*_coords(). * Add missing parameter assertions to those functions. * Rename local variables in draw_grid(). * Use gdk_cairo_rectangle() in expose-event handler. * Update comments.
* Rename LdDocument* to LdDiagram*.Přemysl Janouch2010-12-161-62/+62
| | | | My bad; this name is much more appropriate.
* Overall cleanup.Přemysl Janouch2010-12-161-0/+8
| | | | | | | | | * Add missing asserts to exported functions. * Unify formatting. * Fix the gtk-doc comment for ld_symbol_category_set_human_name(). * Make ld_library_load() reflect it's declaration. * Remove an unused variable in ld_library_load_cb(). * Change all char's to gchar's.
* Add change notifications to properties.Přemysl Janouch2010-12-161-0/+4
| | | | | | Also fix the "human-name" property in LdSymbolCategory and correct gtk-doc comments for coordinates properties accessors in LdDocumentObject.
* LdWindowMain cleanup.Přemysl Janouch2010-12-121-0/+4
| | | | | | | | | | * Restructure the initialization code. * Move LdCanvas event mask setting to ld-canvas.c. * Remove some redundant code. * Use consistent naming. * Update comments. Practically no functional change.
* Rename local LdCanvas methods.Přemysl Janouch2010-12-121-5/+5
| | | | Use a "real" prefix, as GTK+ does.
* Draw symbols from LdDocument in LdCanvas.Přemysl Janouch2010-12-101-1/+91
| | | | Just the minimal implementation so far.
* Implement more of LdCanvas.Přemysl Janouch2010-12-101-55/+317
| | | | | | | | | | 1. Add methods for coordinate translation between cairo/GtkWidget coordinates and LdDocument coordinates. 2. Draw the grid correctly (also make it significantly faster). 3. Place the canvas into a GtkScrolledWindow and register the set_scroll_adjustments signal in the GtkWidget base class. 4. Allow scrolling inside of an area of 200 x 200 units (for now). In the future, it should be possible to go to infinity.
* Initial LdDocument implementation.Přemysl Janouch2010-12-051-0/+1
| | | | The document maintains a list of LdDocumentObject objects.
* Add a "library" property to LdCanvas.Přemysl Janouch2010-11-191-1/+60
| | | | Also make the code reference properties properly.
* Implemented a skeleton of LdCanvas.Přemysl Janouch2010-09-201-3/+157
| | | | | It now paints itself white and draws a simple grid. Also an LdDocument can be assigned to it.
* Little improvements, overall cleanup.Přemysl Janouch2010-09-191-1/+2
|
* Add marshaller files generated by glib-genmarshal.Přemysl Janouch2010-09-191-1/+2
|
* Changed the object prefix from "logdiag" to "ld".Přemysl Janouch2010-09-191-22/+22
| | | | It was just too long to type and read. My mistake.
* Renamed source files.Přemysl Janouch2010-09-191-0/+99
Also a little change in CMakeLists.txt. The next commit is going to change the object prefix.