mirror of
https://github.com/greenshot/greenshot
synced 2025-08-21 14:03:23 -07:00
Added changes for the zoom to animate relative to the cursor position. Also made the first changes to make sure the animation has a frame rate equal to the screen refresh.
git-svn-id: http://svn.code.sf.net/p/greenshot/code/trunk@2341 7dccd23d-a4a3-4e1f-8c07-b4c1b4018ab4
This commit is contained in:
parent
3b9cc41832
commit
ce632b1496
4 changed files with 248 additions and 37 deletions
|
@ -961,4 +961,168 @@ namespace GreenshotPlugin.UnmanagedHelpers {
|
|||
SND_ALIAS_ID = 0x00110000, // alias is a predefined id
|
||||
SND_FILENAME = 0x00020000, // name is file name
|
||||
}
|
||||
|
||||
public enum DeviceCaps {
|
||||
/// <summary>
|
||||
/// Device driver version
|
||||
/// </summary>
|
||||
DRIVERVERSION = 0,
|
||||
/// <summary>
|
||||
/// Device classification
|
||||
/// </summary>
|
||||
TECHNOLOGY = 2,
|
||||
/// <summary>
|
||||
/// Horizontal size in millimeters
|
||||
/// </summary>
|
||||
HORZSIZE = 4,
|
||||
/// <summary>
|
||||
/// Vertical size in millimeters
|
||||
/// </summary>
|
||||
VERTSIZE = 6,
|
||||
/// <summary>
|
||||
/// Horizontal width in pixels
|
||||
/// </summary>
|
||||
HORZRES = 8,
|
||||
/// <summary>
|
||||
/// Vertical height in pixels
|
||||
/// </summary>
|
||||
VERTRES = 10,
|
||||
/// <summary>
|
||||
/// Number of bits per pixel
|
||||
/// </summary>
|
||||
BITSPIXEL = 12,
|
||||
/// <summary>
|
||||
/// Number of planes
|
||||
/// </summary>
|
||||
PLANES = 14,
|
||||
/// <summary>
|
||||
/// Number of brushes the device has
|
||||
/// </summary>
|
||||
NUMBRUSHES = 16,
|
||||
/// <summary>
|
||||
/// Number of pens the device has
|
||||
/// </summary>
|
||||
NUMPENS = 18,
|
||||
/// <summary>
|
||||
/// Number of markers the device has
|
||||
/// </summary>
|
||||
NUMMARKERS = 20,
|
||||
/// <summary>
|
||||
/// Number of fonts the device has
|
||||
/// </summary>
|
||||
NUMFONTS = 22,
|
||||
/// <summary>
|
||||
/// Number of colors the device supports
|
||||
/// </summary>
|
||||
NUMCOLORS = 24,
|
||||
/// <summary>
|
||||
/// Size required for device descriptor
|
||||
/// </summary>
|
||||
PDEVICESIZE = 26,
|
||||
/// <summary>
|
||||
/// Curve capabilities
|
||||
/// </summary>
|
||||
CURVECAPS = 28,
|
||||
/// <summary>
|
||||
/// Line capabilities
|
||||
/// </summary>
|
||||
LINECAPS = 30,
|
||||
/// <summary>
|
||||
/// Polygonal capabilities
|
||||
/// </summary>
|
||||
POLYGONALCAPS = 32,
|
||||
/// <summary>
|
||||
/// Text capabilities
|
||||
/// </summary>
|
||||
TEXTCAPS = 34,
|
||||
/// <summary>
|
||||
/// Clipping capabilities
|
||||
/// </summary>
|
||||
CLIPCAPS = 36,
|
||||
/// <summary>
|
||||
/// Bitblt capabilities
|
||||
/// </summary>
|
||||
RASTERCAPS = 38,
|
||||
/// <summary>
|
||||
/// Length of the X leg
|
||||
/// </summary>
|
||||
ASPECTX = 40,
|
||||
/// <summary>
|
||||
/// Length of the Y leg
|
||||
/// </summary>
|
||||
ASPECTY = 42,
|
||||
/// <summary>
|
||||
/// Length of the hypotenuse
|
||||
/// </summary>
|
||||
ASPECTXY = 44,
|
||||
/// <summary>
|
||||
/// Shading and Blending caps
|
||||
/// </summary>
|
||||
SHADEBLENDCAPS = 45,
|
||||
|
||||
/// <summary>
|
||||
/// Logical pixels inch in X
|
||||
/// </summary>
|
||||
LOGPIXELSX = 88,
|
||||
/// <summary>
|
||||
/// Logical pixels inch in Y
|
||||
/// </summary>
|
||||
LOGPIXELSY = 90,
|
||||
|
||||
/// <summary>
|
||||
/// Number of entries in physical palette
|
||||
/// </summary>
|
||||
SIZEPALETTE = 104,
|
||||
/// <summary>
|
||||
/// Number of reserved entries in palette
|
||||
/// </summary>
|
||||
NUMRESERVED = 106,
|
||||
/// <summary>
|
||||
/// Actual color resolution
|
||||
/// </summary>
|
||||
COLORRES = 108,
|
||||
|
||||
// Printing related DeviceCaps. These replace the appropriate Escapes
|
||||
/// <summary>
|
||||
/// Physical Width in device units
|
||||
/// </summary>
|
||||
PHYSICALWIDTH = 110,
|
||||
/// <summary>
|
||||
/// Physical Height in device units
|
||||
/// </summary>
|
||||
PHYSICALHEIGHT = 111,
|
||||
/// <summary>
|
||||
/// Physical Printable Area x margin
|
||||
/// </summary>
|
||||
PHYSICALOFFSETX = 112,
|
||||
/// <summary>
|
||||
/// Physical Printable Area y margin
|
||||
/// </summary>
|
||||
PHYSICALOFFSETY = 113,
|
||||
/// <summary>
|
||||
/// Scaling factor x
|
||||
/// </summary>
|
||||
SCALINGFACTORX = 114,
|
||||
/// <summary>
|
||||
/// Scaling factor y
|
||||
/// </summary>
|
||||
SCALINGFACTORY = 115,
|
||||
|
||||
/// <summary>
|
||||
/// Current vertical refresh rate of the display device (for displays only) in Hz
|
||||
/// </summary>
|
||||
VREFRESH = 116,
|
||||
/// <summary>
|
||||
/// Horizontal width of entire desktop in pixels
|
||||
/// </summary>
|
||||
DESKTOPVERTRES = 117,
|
||||
/// <summary>
|
||||
/// Vertical height of entire desktop in pixels
|
||||
/// </summary>
|
||||
DESKTOPHORZRES = 118,
|
||||
/// <summary>
|
||||
/// Preferred blt alignment
|
||||
/// </summary>
|
||||
BLTALIGNMENT = 119
|
||||
}
|
||||
}
|
||||
|
|
|
@ -61,8 +61,10 @@ namespace GreenshotPlugin.UnmanagedHelpers {
|
|||
public static extern int GetClipBox(IntPtr hdc, out RECT lprc);
|
||||
[DllImport("gdi32", SetLastError = true)]
|
||||
public static extern uint GetPixel(IntPtr hdc, int nXPos, int nYPos);
|
||||
[DllImport("gdi32")]
|
||||
[DllImport("gdi32", SetLastError = true)]
|
||||
public static extern IntPtr CreateRoundRectRgn(int x1, int y1, int x2, int y2, int cx, int cy);
|
||||
[DllImport("gdi32", SetLastError = true)]
|
||||
public static extern int GetDeviceCaps(IntPtr hdc, DeviceCaps nIndex);
|
||||
|
||||
/// <summary>
|
||||
/// Doesn't work?
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue