First code analysis changes, this "should" make Greenshot more stable and implement things as is supposed.

git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2481 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
RKrom 2013-02-12 18:43:56 +00:00
commit a394904aa3
64 changed files with 514 additions and 343 deletions

View file

@ -28,7 +28,7 @@ namespace Greenshot.Plugin.Drawing {
public enum RenderMode {EDIT, EXPORT};
public enum EditStatus {UNDRAWN, DRAWING, MOVING, RESIZING, IDLE};
public interface IDrawableContainer : INotifyPropertyChanged {
public interface IDrawableContainer : INotifyPropertyChanged, IDisposable {
ISurface Parent {
get;
}
@ -83,7 +83,6 @@ namespace Greenshot.Plugin.Drawing {
}
void AlignToParent(HorizontalAlignment horizontalAlignment, VerticalAlignment verticalAlignment);
void Invalidate();
void Dispose();
bool ClickableAt(int x, int y);
void HideGrippers();
void ShowGrippers();

View file

@ -56,11 +56,25 @@ namespace Greenshot.Plugin {
set;
}
}
public class SurfaceElementEventArgs : EventArgs {
public IList<IDrawableContainer> Elements {
get;
set;
}
}
public class SurfaceDrawingModeEventArgs : EventArgs {
public DrawingModes DrawingMode {
get;
set;
}
}
public delegate void SurfaceSizeChangeEventHandler(object source);
public delegate void SurfaceMessageEventHandler(object source, SurfaceMessageEventArgs eventArgs);
public delegate void SurfaceElementEventHandler(object source, IList<IDrawableContainer> element);
public delegate void SurfaceDrawingModeEventHandler(object source, DrawingModes drawingMode);
public delegate void SurfaceSizeChangeEventHandler(object sender, EventArgs eventArgs);
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 }
/// <summary>

View file

@ -225,7 +225,7 @@ namespace Greenshot.Plugin {
ICapture GetCapture(Image imageToCapture);
}
public interface IGreenshotPlugin {
public interface IGreenshotPlugin : IDisposable {
/// <summary>
/// Is called after the plugin is instanciated, the Plugin should keep a copy of the host and pluginAttribute.
/// </summary>