-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
This set of patches is a collection from / based on my opaque-objects
branch. The intent is to reduce the hamming distance between my branch
and mainline; hopefully these aren't too random and make sense even
independently of the opaque-objects branch.
Last entry (#0001) is the (invoke-macro STR) improvement suggested by
Peter TB Brett on Friday.
Please fetch these patches from
git+ssh://repo.or.cz/srv/git/geda-gaf/berndj.git as branch
berndj/opaque-general-cleanups; I didn't want to spam the whole list
with 140-odd KB of diff!
commit b06f9eb409efc4424228cf169a6951e65e52f83c
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sun Aug 10 02:12:56 2008 +0200
Rename x1 and y1 parameters to dx and dy to make purpose obvious.
commit b76e608eb8641560c74bc5ed18f8bc8a33d5ea54
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sun Aug 10 02:03:39 2008 +0200
Delete unneeded TOPLEVEL argument.
commit 4f8d74d7e883c9deea2d0830519fe2bcf2f5570d
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sun Aug 10 01:55:59 2008 +0200
Control hiding of text on a per-object level.
The user interface is still to flip the "show hidden" property of
all objects together, but we now have the capability to control it
for each object individually.
More important, this feature allows the next patch: to delete the
otherwise unneeded "toplevel" parameter.
commit 6589fac773aeeeb36b55e7a6c2426c6f0c324df1
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Mon Jul 21 23:26:01 2008 +0200
Make error message mention the right function.
commit dacd3084ed72bdad2cc9a1bd78264c275232423b
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sat Jul 19 01:28:20 2008 +0200
Erase the newly placed attribute before changing its position.
Changing the position first then erasing causes the wrong bounding
rectangle on the screen to be invalidated. We need to invalidate the
bounding rectangle of the *old* position.
commit f51fa567fbcab3f2c3259644c4254da35f1e3dd5
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Fri Jul 18 02:33:29 2008 +0200
Propagate world coords of pointer even when they are unused.
It seems obviously right to me to propagate w_x and w_y, even if the
target object pulls the pointer position out of w_current again, which
itself is quite evil.
commit 832fdda697717008726484a0c4c474ae21ee9aee
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Fri Jul 18 02:28:17 2008 +0200
Print and save canonicalized boxes.
Printing and writing to file requires a start point and a positive
(width,height) pair. I'm going to anonymize the box grip constants
soon, and this patch prepares for that.
commit 5e4f55214565df7b1f4348f291f29bf235c9dbdb
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Thu Jul 17 02:49:08 2008 +0200
Delete code with no effect.
If a pointer is already NULL, there's no point setting it to NULL.
commit fd88a2068b59b933f1d6e2b688bc4f1288b94f7d
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sun Jul 13 06:05:21 2008 +0200
Update comments to reflect reality.
commit dbd782ab5b9b016cd260a3cc56872b3aea4d8286
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sat Jul 12 00:57:26 2008 +0200
Document the effect of moving each grip.
The documentation was elsewhere far away. Moving it closer to the
arc moving code mitigates the "action at a distance" antipattern.
commit d1122778e91a7bbe114692a2e40c9bd539763948
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sun Aug 10 00:54:07 2008 +0200
Split object allocation from its initialization.
s_basic_init_object() now only initializes an object. It is up to the
object factory to allocate as much memory as it knows the object (which
could be a derived class) really needs. Add a helper function,
s_toplevel_new_object() that wraps the calls to the factory and to
s_basic_init_object().
[For "object factory", read: s_toplevel_new_object(). A real (abstract)
factory is too controversial to advocate for the mainstream code.]
The holy grail is opaque objects. The first non-trivial use of an
abstract factory might be to sequester knowledge of GdkPixbuf into gschem
and out of libgeda. Conceptually, gschem would override the abstract
factory's ::new_picture() method, returning a bigger structure than just
PICTURE:
typedef struct st_gschem_picture GSCHEM_PICTURE;
struct st_gschem_picture {
PICTURE base;
GdkPixbuf *original_picture;
GdkPixbuf *displayed_picture;
/* Maybe some other stuff too. */
};
commit d7808b37beacdfaadf28a7ce305cc99d8aabd0ab
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sun Aug 10 00:47:52 2008 +0200
s_basic_init_object(): Set OBJECT type according to new parameter.
commit 1188359a417fafdaa3b6e18f9860a9b0d7e02fd5
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Fri Nov 9 01:39:03 2007 +0200
s_basic_init_object(): Constify argument.
commit 60ad40ad832cb23a984046cf42cd711882c61c6d
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Fri Nov 9 01:15:14 2007 +0200
Add header guard.
commit 5f5ef94d63ecd3af2b1fafc151fab9856a345eea
Author: Bernd Jendrissek <[EMAIL PROTECTED]>
Date: Sun Aug 10 00:19:01 2008 +0200
Rather pass the user-supplied scripting command to a scheme dispatcher.
Passing the command to a scheme dispatcher gives the configuration files
an opportunity to define the language in which these scripting commands
are interpreted. It doesn't really need to be scheme, but it is for now.
(New patch with changes suggested by Peter TB Brett.)
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.6 (GNU/Linux)
iD8DBQFInjVr7sfNFNW4BEwRAjSxAKC2mQvpQlVg5YCsCHFzwxC/JbPSTwCgnf64
i3/7PgRD0UU2/7yv5VrRlYk=
=vY5M
-----END PGP SIGNATURE-----
_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev