summaryrefslogtreecommitdiff
path: root/include/delphi/m_button_int.inc
diff options
context:
space:
mode:
authorAlexey Kulakov <panda75@bk.ru>2012-07-18 16:47:22 +0000
committerAlexey Kulakov <panda75@bk.ru>2012-07-18 16:47:22 +0000
commitc4a8c1f0443d1d39fdc0f265a0dcc9356f7092e9 (patch)
tree8a22a0abdde7a82b258d5cf6f21f209f316e4749 /include/delphi/m_button_int.inc
parenta089c5c2227ad5060cebe9e99ecf785164265104 (diff)
API update
git-svn-id: http://svn.miranda-ng.org/main/trunk@1017 1316c22d-e87f-b044-9b9b-93d7a3e3ba9c
Diffstat (limited to 'include/delphi/m_button_int.inc')
-rw-r--r--include/delphi/m_button_int.inc71
1 files changed, 71 insertions, 0 deletions
diff --git a/include/delphi/m_button_int.inc b/include/delphi/m_button_int.inc
new file mode 100644
index 0000000000..a358d39938
--- /dev/null
+++ b/include/delphi/m_button_int.inc
@@ -0,0 +1,71 @@
+{
+Miranda IM: the free IM client for Microsoft* Windows*
+
+Copyright 2000-2008 Miranda ICQ/IM project,
+all portions of this codebase are copyrighted to the people
+listed in contributors.txt.
+
+This program is free software; you can redistribute it and/or
+modify it under the terms of the GNU General Public License
+as published by the Free Software Foundation; either version 2
+of the License, or (at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+}
+
+{$IFNDEF M_BUTTON_INT}
+{$DEFINE M_BUTTON_INT}
+
+type
+ IAccPropServices = interface
+ end;
+
+type
+ pMButtonCtrl = pointer;
+ pfnPainterFunc = procedure (mb:pMButtonCtrl; dc:HDC); cdecl;
+
+type
+ MButtonCtrl = record
+ hwnd:HWND;
+ stateId:int; // button state
+ focus:int; // has focus (1 or 0)
+ hFont:HFONT; // font
+ arrow:HICON; // uses down arrow
+ hIcon:HICON;
+ hBitmap:HBITMAP;
+ hThemeButton:THANDLE; // HTHEME
+ hThemeToolbar:THANDLE; // HTHEME
+ cHot:WideChar;
+ hwndToolTips:HWND;
+
+ bIsPushBtn, // button has two states
+ bIsPushed, // is button pushed or not
+ bIsDefault, // default button
+ bIsFlat, // flat button
+ bIsThemed, // themed button
+ bIsSkinned: // skinned button
+ bool;
+ lResult:LRESULT; // custom window proc result
+ fnWindowProc:TWNDPROC; // custom window proc
+ fnPainter:pfnPainterFunc; // custom button painter
+
+ pAccPropServices:^IAccPropServices;
+ end;
+
+/////////////////////////////////////////////////////////////////
+
+type
+ MButtonCustomize = record
+ cbLen :size_t; // total length of the internal data structure
+ fnWindowProc:TWNDPROC; // subclassed windows procedure for the custom button
+ fnPainter :pfnPainterFunc; // custom button painter
+ end;
+
+{$ENDIF}