This is MoveGraphicsChange.m in view mode; [Download] [Up]
#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
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.