As 2.x takes longer as planned, I added the SpeechbubbleContainer and StepLabelContainer (Enumerable label) to the 1.2 branch. This code was stored somewhere on my hard-drive, is still experimental.

This commit is contained in:
RKrom 2014-05-23 15:49:14 +02:00
commit ff3f898f54
21 changed files with 648 additions and 166 deletions

View file

@ -92,6 +92,9 @@ namespace Greenshot.Plugin.Drawing {
bool HandleMouseMove(int x, int y);
bool InitContent();
void MakeBoundsChangeUndoable(bool allowMerge);
EditStatus DefaultEditMode {
get;
}
}
public interface ITextContainer: IDrawableContainer {

View file

@ -75,7 +75,21 @@ namespace Greenshot.Plugin {
public delegate void SurfaceMessageEventHandler(object sender, SurfaceMessageEventArgs eventArgs);
public delegate void SurfaceElementEventHandler(object sender, SurfaceElementEventArgs eventArgs);
public delegate void SurfaceDrawingModeEventHandler(object sender, SurfaceDrawingModeEventArgs eventArgs);
public enum DrawingModes { None, Rect, Ellipse, Text, Line, Arrow, Crop, Highlight, Obfuscate, Bitmap, Path }
public enum DrawingModes {
None,
Rect,
Ellipse,
Text,
Line,
Arrow,
Crop,
Highlight,
Obfuscate,
Bitmap,
Path,
SpeechBubble,
StepLabel
}
/// <summary>
/// The interface to the Surface object, so Plugins can use it.
@ -152,6 +166,12 @@ namespace Greenshot.Plugin {
void DeselectElement(IDrawableContainer container);
void DeselectAllElements();
void SelectElement(IDrawableContainer container);
/// <summary>
/// Is the supplied container "on" the surface?
/// </summary>
/// <param name="container"></param>
/// <returns>This returns false if the container is deleted but still in the undo stack</returns>
bool IsOnSurface(IDrawableContainer container);
void Invalidate(Rectangle rectangleToInvalidate);
void Invalidate();
bool Modified {
@ -178,5 +198,9 @@ namespace Greenshot.Plugin {
get;
set;
}
LinkedList<IDrawableContainer> StepContainers {
get;
}
}
}