public Pen(int penStyle, int width, uint colorref, Guid aGuid) { fLogPen = new LOGPEN(); fLogPen.lopnColor = colorref; fLogPen.lopnStyle = penStyle; fLogPen.lopnWidth = width; fGuid = aGuid; }
public unsafe static COLORREF GetPenColor(PenHandle pen) { var penType = Imports.GetObjectType((IntPtr)pen); switch (penType) { case ObjectType.Pen: LOGPEN logPen = new LOGPEN(); int size = sizeof(LOGPEN); if (Imports.GetObjectW(pen, size, &logPen) == size) { return(logPen.lopnColor); } break; case ObjectType.ExtendedPen: BufferHelper.BufferInvoke((HeapBuffer buffer) => { size = Imports.GetObjectW(pen, 0, null); if (size == 0) { throw new InvalidOperationException(); } buffer.EnsureByteCapacity((ulong)size); size = Imports.GetObjectW(pen, size, buffer.VoidPointer); if (size < sizeof(EXTLOGPEN)) { throw new InvalidOperationException(); } return(((EXTLOGPEN *)buffer.VoidPointer)->elpColor); }); break; } throw new InvalidOperationException(); }
public static extern IntPtr CreatePenIndirect([In] ref LOGPEN plpen);
public HCPen() { FLogPen = new LOGPEN(); ReCreateHandle(); }
public static int GetObject(HandleRef hObject, LOGPEN lp) { return GetObject(hObject, Marshal.SizeOf(typeof(LOGPEN)), lp); }
public static extern int CreatePenIndirect( ref LOGPEN lplogpen );