home *** CD-ROM | disk | FTP | other *** search
- #import "drawundo.h"
-
- @interface MoveGraphicsChange(PrivateMethods)
-
- - (BOOL)subsumeIdenticalChange:change;
-
- @end
-
- @implementation MoveGraphicsChange
-
- - initGraphicView:aGraphicView vector:(const NXPoint *)aVector
- {
- [super initGraphicView:aGraphicView];
- redoVector.x = aVector->x;
- redoVector.y = aVector->y;
- undoVector.x = -redoVector.x;
- undoVector.y = -redoVector.y;
-
- return self;
- }
-
- - (const char *)changeName
- {
- return NXLocalStringFromTable("Operations", "Move", NULL, "The operation of moving a graphical entity.");
- }
-
- - changeDetailClass
- {
- return [MoveChangeDetail class];
- }
-
- - (const NXPoint *)undoVector
- {
- return &undoVector;
- }
-
- - (const NXPoint *)redoVector
- {
- return &redoVector;
- }
-
- - (BOOL)subsumeIdenticalChange:change
- {
- MoveGraphicsChange *moveChange;
-
- moveChange = (MoveGraphicsChange *)change;
- undoVector.x += moveChange->undoVector.x;
- undoVector.y += moveChange->undoVector.y;
- redoVector.x += moveChange->redoVector.x;
- redoVector.y += moveChange->redoVector.y;
-
- return YES;
- }
-
- @end
-