mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-03 12:23:25 +00:00
fixed line endings on all files
svn path=/trunk/; revision=6249
This commit is contained in:
+962
-962
File diff suppressed because it is too large
Load Diff
+2295
-2295
File diff suppressed because it is too large
Load Diff
+160
-160
@@ -1,160 +1,160 @@
|
||||
LIBRARY comctl32.dll
|
||||
EXPORTS
|
||||
MenuHelp@28 @2
|
||||
ShowHideMenuCtl@12 @3
|
||||
GetEffectiveClientRect@12 @4
|
||||
DrawStatusTextA@16 @5
|
||||
CreateStatusWindowA@16 @6
|
||||
CreateToolbar@32 @7
|
||||
CreateMappedBitmap@20 @8
|
||||
DPA_LoadStream@16 @9 NONAME
|
||||
DPA_SaveStream@16 @10 NONAME
|
||||
DPA_Merge@24 @11 NONAME
|
||||
MakeDragList@4 @13
|
||||
LBItemFromPt@16 @14
|
||||
DrawInsert@12 @15
|
||||
CreateUpDownControl@48 @16
|
||||
InitCommonControls@0 @17
|
||||
Alloc@4 @71 NONAME
|
||||
ReAlloc@8 @72 NONAME
|
||||
Free@4 @73 NONAME
|
||||
GetSize@4 @74 NONAME
|
||||
CreateMRUListA@4 @151 NONAME
|
||||
FreeMRUList@4 @152 NONAME
|
||||
AddMRUStringA@8 @153 NONAME
|
||||
EnumMRUListA@16 @154 NONAME
|
||||
FindMRUStringA@12 @155 NONAME
|
||||
DelMRUString@8 @156 NONAME
|
||||
CreateMRUListLazyA@16 @157 NONAME
|
||||
AddMRUData@12 @167 NONAME
|
||||
FindMRUData@16 @169 NONAME
|
||||
Str_GetPtrA@12 @233 NONAME
|
||||
Str_SetPtrA@8 @234 NONAME
|
||||
Str_GetPtrW@12 @235 NONAME
|
||||
Str_SetPtrW@8 @236 NONAME
|
||||
DSA_Create@8 @320 NONAME
|
||||
DSA_Destroy@4 @321 NONAME
|
||||
DSA_GetItem@12 @322 NONAME
|
||||
DSA_GetItemPtr@8 @323 NONAME
|
||||
DSA_InsertItem@12 @324 NONAME
|
||||
DSA_SetItem@12 @325 NONAME
|
||||
DSA_DeleteItem@8 @326 NONAME
|
||||
DSA_DeleteAllItems@4 @327 NONAME
|
||||
DPA_Create@4 @328 NONAME
|
||||
DPA_Destroy@4 @329 NONAME
|
||||
DPA_Grow@8 @330 NONAME
|
||||
DPA_Clone@8 @331 NONAME
|
||||
DPA_GetPtr@8 @332 NONAME
|
||||
DPA_GetPtrIndex@8 @333 NONAME
|
||||
DPA_InsertPtr@12 @334 NONAME
|
||||
DPA_SetPtr@12 @335 NONAME
|
||||
DPA_DeletePtr@8 @336 NONAME
|
||||
DPA_DeleteAllPtrs@4 @337 NONAME
|
||||
DPA_Sort@12 @338 NONAME
|
||||
DPA_Search@24 @339 NONAME
|
||||
DPA_CreateEx@8 @340 NONAME
|
||||
SendNotify@16 @341 NONAME
|
||||
SendNotifyEx@20 @342 NONAME
|
||||
StrChrA@8 @350 NONAME
|
||||
StrRChrA@12 @351 NONAME
|
||||
StrCmpNA@12 @352 NONAME
|
||||
StrCmpNIA@12 @353 NONAME
|
||||
StrStrA@8 @354 NONAME
|
||||
StrStrIA@8 @355 NONAME
|
||||
StrCSpnA@8 @356 NONAME
|
||||
StrToIntA@4 @357 NONAME
|
||||
StrChrW@8 @358 NONAME
|
||||
StrRChrW@12 @359 NONAME
|
||||
StrCmpNW@12 @360 NONAME
|
||||
StrCmpNIW@12 @361 NONAME
|
||||
StrStrW@8 @362 NONAME
|
||||
StrStrIW@8 @363 NONAME
|
||||
StrSpnW@8 @364 NONAME
|
||||
StrToIntW@4 @365 NONAME
|
||||
SmoothScrollWindow@4 @382 NONAME
|
||||
DPA_EnumCallback@12 @385 NONAME
|
||||
DPA_DestroyCallback@12 @386 NONAME
|
||||
DSA_EnumCallback@12 @387 NONAME
|
||||
DSA_DestroyCallback@12 @388 NONAME
|
||||
CreateMRUListW@4 @400 NONAME
|
||||
AddMRUStringW@8 @401 NONAME
|
||||
FindMRUStringW@12 @402 NONAME
|
||||
EnumMRUListW@16 @403 NONAME
|
||||
CreateMRUListLazyW@16 @404 NONAME
|
||||
SetWindowSubclass@16 @410
|
||||
GetWindowSubclass@16 @411
|
||||
RemoveWindowSubclass@12 @412
|
||||
DefSubclassProc@16 @413
|
||||
DrawTextWrap@20 @415 NONAME
|
||||
ExtTextOutWrap@32 @417 NONAME
|
||||
GetTextExtentPointWrap@16 @419 NONAME
|
||||
CreatePropertySheetPage@4=CreatePropertySheetPageA@4 @12
|
||||
CreatePropertySheetPageA@4 @18
|
||||
CreatePropertySheetPageW@4 @19
|
||||
CreateStatusWindow@16=CreateStatusWindowA@16 @20
|
||||
CreateStatusWindowW@16 @21
|
||||
CreateToolbarEx@52 @22
|
||||
DestroyPropertySheetPage@4 @23
|
||||
DllGetVersion@4=COMCTL32_DllGetVersion@4 @24
|
||||
DllInstall@8=COMCTL32_DllInstall@8 @25
|
||||
DrawStatusText@16=DrawStatusTextA@16 @26
|
||||
DrawStatusTextW@16 @27
|
||||
FlatSB_EnableScrollBar@12 @28
|
||||
FlatSB_GetScrollInfo@12 @29
|
||||
FlatSB_GetScrollPos@8 @30
|
||||
FlatSB_GetScrollProp@12 @31
|
||||
FlatSB_GetScrollRange@16 @32
|
||||
FlatSB_SetScrollInfo@16 @33
|
||||
FlatSB_SetScrollPos@16 @34
|
||||
FlatSB_SetScrollProp@16 @35
|
||||
FlatSB_SetScrollRange@20 @36
|
||||
FlatSB_ShowScrollBar@12 @37
|
||||
GetMUILanguage@0 @38
|
||||
ImageList_Add@12 @39
|
||||
ImageList_AddIcon@8 @40
|
||||
ImageList_AddMasked@12 @41
|
||||
ImageList_BeginDrag@16 @42
|
||||
ImageList_Copy@20 @43
|
||||
ImageList_Create@20 @44
|
||||
ImageList_Destroy@4 @45
|
||||
ImageList_DragEnter@12 @46
|
||||
ImageList_DragLeave@4 @47
|
||||
ImageList_DragMove@8 @48
|
||||
ImageList_DragShowNolock@4 @49
|
||||
ImageList_Draw@24 @50
|
||||
ImageList_DrawEx@40 @51
|
||||
ImageList_DrawIndirect@4 @52
|
||||
ImageList_Duplicate@4 @53
|
||||
ImageList_EndDrag@0 @54
|
||||
ImageList_GetBkColor@4 @55
|
||||
ImageList_GetDragImage@8 @56
|
||||
ImageList_GetFlags@4 @57
|
||||
ImageList_GetIcon@12 @58
|
||||
ImageList_GetIconSize@12 @59
|
||||
ImageList_GetImageCount@4 @60
|
||||
ImageList_GetImageInfo@12 @61
|
||||
ImageList_GetImageRect@12 @62
|
||||
ImageList_LoadImage@28=ImageList_LoadImageA@28 @63
|
||||
ImageList_LoadImageA@28 @64
|
||||
ImageList_LoadImageW@28 @65
|
||||
ImageList_Merge@24 @66
|
||||
ImageList_Read@4 @67
|
||||
ImageList_Remove@8 @68
|
||||
ImageList_Replace@16 @69
|
||||
ImageList_ReplaceIcon@12 @70
|
||||
ImageList_SetBkColor@8 @75
|
||||
ImageList_SetDragCursorImage@16 @76
|
||||
ImageList_SetFilter@12 @77
|
||||
ImageList_SetFlags@8 @78
|
||||
ImageList_SetIconSize@12 @79
|
||||
ImageList_SetImageCount@8 @80
|
||||
ImageList_SetOverlayImage@12 @81
|
||||
ImageList_Write@8 @82
|
||||
InitCommonControlsEx@4 @83
|
||||
InitMUILanguage@4 @84
|
||||
InitializeFlatSB@4 @85
|
||||
PropertySheet@4=PropertySheetA@4 @86
|
||||
PropertySheetA@4 @87
|
||||
PropertySheetW@4 @88
|
||||
UninitializeFlatSB@4 @89
|
||||
_TrackMouseEvent@4 @90
|
||||
LIBRARY comctl32.dll
|
||||
EXPORTS
|
||||
MenuHelp@28 @2
|
||||
ShowHideMenuCtl@12 @3
|
||||
GetEffectiveClientRect@12 @4
|
||||
DrawStatusTextA@16 @5
|
||||
CreateStatusWindowA@16 @6
|
||||
CreateToolbar@32 @7
|
||||
CreateMappedBitmap@20 @8
|
||||
DPA_LoadStream@16 @9 NONAME
|
||||
DPA_SaveStream@16 @10 NONAME
|
||||
DPA_Merge@24 @11 NONAME
|
||||
MakeDragList@4 @13
|
||||
LBItemFromPt@16 @14
|
||||
DrawInsert@12 @15
|
||||
CreateUpDownControl@48 @16
|
||||
InitCommonControls@0 @17
|
||||
Alloc@4 @71 NONAME
|
||||
ReAlloc@8 @72 NONAME
|
||||
Free@4 @73 NONAME
|
||||
GetSize@4 @74 NONAME
|
||||
CreateMRUListA@4 @151 NONAME
|
||||
FreeMRUList@4 @152 NONAME
|
||||
AddMRUStringA@8 @153 NONAME
|
||||
EnumMRUListA@16 @154 NONAME
|
||||
FindMRUStringA@12 @155 NONAME
|
||||
DelMRUString@8 @156 NONAME
|
||||
CreateMRUListLazyA@16 @157 NONAME
|
||||
AddMRUData@12 @167 NONAME
|
||||
FindMRUData@16 @169 NONAME
|
||||
Str_GetPtrA@12 @233 NONAME
|
||||
Str_SetPtrA@8 @234 NONAME
|
||||
Str_GetPtrW@12 @235 NONAME
|
||||
Str_SetPtrW@8 @236 NONAME
|
||||
DSA_Create@8 @320 NONAME
|
||||
DSA_Destroy@4 @321 NONAME
|
||||
DSA_GetItem@12 @322 NONAME
|
||||
DSA_GetItemPtr@8 @323 NONAME
|
||||
DSA_InsertItem@12 @324 NONAME
|
||||
DSA_SetItem@12 @325 NONAME
|
||||
DSA_DeleteItem@8 @326 NONAME
|
||||
DSA_DeleteAllItems@4 @327 NONAME
|
||||
DPA_Create@4 @328 NONAME
|
||||
DPA_Destroy@4 @329 NONAME
|
||||
DPA_Grow@8 @330 NONAME
|
||||
DPA_Clone@8 @331 NONAME
|
||||
DPA_GetPtr@8 @332 NONAME
|
||||
DPA_GetPtrIndex@8 @333 NONAME
|
||||
DPA_InsertPtr@12 @334 NONAME
|
||||
DPA_SetPtr@12 @335 NONAME
|
||||
DPA_DeletePtr@8 @336 NONAME
|
||||
DPA_DeleteAllPtrs@4 @337 NONAME
|
||||
DPA_Sort@12 @338 NONAME
|
||||
DPA_Search@24 @339 NONAME
|
||||
DPA_CreateEx@8 @340 NONAME
|
||||
SendNotify@16 @341 NONAME
|
||||
SendNotifyEx@20 @342 NONAME
|
||||
StrChrA@8 @350 NONAME
|
||||
StrRChrA@12 @351 NONAME
|
||||
StrCmpNA@12 @352 NONAME
|
||||
StrCmpNIA@12 @353 NONAME
|
||||
StrStrA@8 @354 NONAME
|
||||
StrStrIA@8 @355 NONAME
|
||||
StrCSpnA@8 @356 NONAME
|
||||
StrToIntA@4 @357 NONAME
|
||||
StrChrW@8 @358 NONAME
|
||||
StrRChrW@12 @359 NONAME
|
||||
StrCmpNW@12 @360 NONAME
|
||||
StrCmpNIW@12 @361 NONAME
|
||||
StrStrW@8 @362 NONAME
|
||||
StrStrIW@8 @363 NONAME
|
||||
StrSpnW@8 @364 NONAME
|
||||
StrToIntW@4 @365 NONAME
|
||||
SmoothScrollWindow@4 @382 NONAME
|
||||
DPA_EnumCallback@12 @385 NONAME
|
||||
DPA_DestroyCallback@12 @386 NONAME
|
||||
DSA_EnumCallback@12 @387 NONAME
|
||||
DSA_DestroyCallback@12 @388 NONAME
|
||||
CreateMRUListW@4 @400 NONAME
|
||||
AddMRUStringW@8 @401 NONAME
|
||||
FindMRUStringW@12 @402 NONAME
|
||||
EnumMRUListW@16 @403 NONAME
|
||||
CreateMRUListLazyW@16 @404 NONAME
|
||||
SetWindowSubclass@16 @410
|
||||
GetWindowSubclass@16 @411
|
||||
RemoveWindowSubclass@12 @412
|
||||
DefSubclassProc@16 @413
|
||||
DrawTextWrap@20 @415 NONAME
|
||||
ExtTextOutWrap@32 @417 NONAME
|
||||
GetTextExtentPointWrap@16 @419 NONAME
|
||||
CreatePropertySheetPage@4=CreatePropertySheetPageA@4 @12
|
||||
CreatePropertySheetPageA@4 @18
|
||||
CreatePropertySheetPageW@4 @19
|
||||
CreateStatusWindow@16=CreateStatusWindowA@16 @20
|
||||
CreateStatusWindowW@16 @21
|
||||
CreateToolbarEx@52 @22
|
||||
DestroyPropertySheetPage@4 @23
|
||||
DllGetVersion@4=COMCTL32_DllGetVersion@4 @24
|
||||
DllInstall@8=COMCTL32_DllInstall@8 @25
|
||||
DrawStatusText@16=DrawStatusTextA@16 @26
|
||||
DrawStatusTextW@16 @27
|
||||
FlatSB_EnableScrollBar@12 @28
|
||||
FlatSB_GetScrollInfo@12 @29
|
||||
FlatSB_GetScrollPos@8 @30
|
||||
FlatSB_GetScrollProp@12 @31
|
||||
FlatSB_GetScrollRange@16 @32
|
||||
FlatSB_SetScrollInfo@16 @33
|
||||
FlatSB_SetScrollPos@16 @34
|
||||
FlatSB_SetScrollProp@16 @35
|
||||
FlatSB_SetScrollRange@20 @36
|
||||
FlatSB_ShowScrollBar@12 @37
|
||||
GetMUILanguage@0 @38
|
||||
ImageList_Add@12 @39
|
||||
ImageList_AddIcon@8 @40
|
||||
ImageList_AddMasked@12 @41
|
||||
ImageList_BeginDrag@16 @42
|
||||
ImageList_Copy@20 @43
|
||||
ImageList_Create@20 @44
|
||||
ImageList_Destroy@4 @45
|
||||
ImageList_DragEnter@12 @46
|
||||
ImageList_DragLeave@4 @47
|
||||
ImageList_DragMove@8 @48
|
||||
ImageList_DragShowNolock@4 @49
|
||||
ImageList_Draw@24 @50
|
||||
ImageList_DrawEx@40 @51
|
||||
ImageList_DrawIndirect@4 @52
|
||||
ImageList_Duplicate@4 @53
|
||||
ImageList_EndDrag@0 @54
|
||||
ImageList_GetBkColor@4 @55
|
||||
ImageList_GetDragImage@8 @56
|
||||
ImageList_GetFlags@4 @57
|
||||
ImageList_GetIcon@12 @58
|
||||
ImageList_GetIconSize@12 @59
|
||||
ImageList_GetImageCount@4 @60
|
||||
ImageList_GetImageInfo@12 @61
|
||||
ImageList_GetImageRect@12 @62
|
||||
ImageList_LoadImage@28=ImageList_LoadImageA@28 @63
|
||||
ImageList_LoadImageA@28 @64
|
||||
ImageList_LoadImageW@28 @65
|
||||
ImageList_Merge@24 @66
|
||||
ImageList_Read@4 @67
|
||||
ImageList_Remove@8 @68
|
||||
ImageList_Replace@16 @69
|
||||
ImageList_ReplaceIcon@12 @70
|
||||
ImageList_SetBkColor@8 @75
|
||||
ImageList_SetDragCursorImage@16 @76
|
||||
ImageList_SetFilter@12 @77
|
||||
ImageList_SetFlags@8 @78
|
||||
ImageList_SetIconSize@12 @79
|
||||
ImageList_SetImageCount@8 @80
|
||||
ImageList_SetOverlayImage@12 @81
|
||||
ImageList_Write@8 @82
|
||||
InitCommonControlsEx@4 @83
|
||||
InitMUILanguage@4 @84
|
||||
InitializeFlatSB@4 @85
|
||||
PropertySheet@4=PropertySheetA@4 @86
|
||||
PropertySheetA@4 @87
|
||||
PropertySheetW@4 @88
|
||||
UninitializeFlatSB@4 @89
|
||||
_TrackMouseEvent@4 @90
|
||||
|
||||
+160
-160
@@ -1,160 +1,160 @@
|
||||
LIBRARY comctl32.dll
|
||||
EXPORTS
|
||||
MenuHelp=MenuHelp@28 @2
|
||||
ShowHideMenuCtl=ShowHideMenuCtl@12 @3
|
||||
GetEffectiveClientRect=GetEffectiveClientRect@12 @4
|
||||
DrawStatusTextA=DrawStatusTextA@16 @5
|
||||
CreateStatusWindowA=CreateStatusWindowA@16 @6
|
||||
CreateToolbar=CreateToolbar@32 @7
|
||||
CreateMappedBitmap=CreateMappedBitmap@20 @8
|
||||
DPA_LoadStream=DPA_LoadStream@16 @9 NONAME
|
||||
DPA_SaveStream=DPA_SaveStream@16 @10 NONAME
|
||||
DPA_Merge=DPA_Merge@24 @11 NONAME
|
||||
MakeDragList=MakeDragList@4 @13
|
||||
LBItemFromPt=LBItemFromPt@16 @14
|
||||
DrawInsert=DrawInsert@12 @15
|
||||
CreateUpDownControl=CreateUpDownControl@48 @16
|
||||
InitCommonControls=InitCommonControls@0 @17
|
||||
Alloc=Alloc@4 @71 NONAME
|
||||
ReAlloc=ReAlloc@8 @72 NONAME
|
||||
Free=Free@4 @73 NONAME
|
||||
GetSize=GetSize@4 @74 NONAME
|
||||
CreateMRUListA=CreateMRUListA@4 @151 NONAME
|
||||
FreeMRUList=FreeMRUList@4 @152 NONAME
|
||||
AddMRUStringA=AddMRUStringA@8 @153 NONAME
|
||||
EnumMRUListA=EnumMRUListA@16 @154 NONAME
|
||||
FindMRUStringA=FindMRUStringA@12 @155 NONAME
|
||||
DelMRUString=DelMRUString@8 @156 NONAME
|
||||
CreateMRUListLazyA=CreateMRUListLazyA@16 @157 NONAME
|
||||
AddMRUData=AddMRUData@12 @167 NONAME
|
||||
FindMRUData=FindMRUData@16 @169 NONAME
|
||||
Str_GetPtrA=Str_GetPtrA@12 @233 NONAME
|
||||
Str_SetPtrA=Str_SetPtrA@8 @234 NONAME
|
||||
Str_GetPtrW=Str_GetPtrW@12 @235 NONAME
|
||||
Str_SetPtrW=Str_SetPtrW@8 @236 NONAME
|
||||
DSA_Create=DSA_Create@8 @320 NONAME
|
||||
DSA_Destroy=DSA_Destroy@4 @321 NONAME
|
||||
DSA_GetItem=DSA_GetItem@12 @322 NONAME
|
||||
DSA_GetItemPtr=DSA_GetItemPtr@8 @323 NONAME
|
||||
DSA_InsertItem=DSA_InsertItem@12 @324 NONAME
|
||||
DSA_SetItem=DSA_SetItem@12 @325 NONAME
|
||||
DSA_DeleteItem=DSA_DeleteItem@8 @326 NONAME
|
||||
DSA_DeleteAllItems=DSA_DeleteAllItems@4 @327 NONAME
|
||||
DPA_Create=DPA_Create@4 @328 NONAME
|
||||
DPA_Destroy=DPA_Destroy@4 @329 NONAME
|
||||
DPA_Grow=DPA_Grow@8 @330 NONAME
|
||||
DPA_Clone=DPA_Clone@8 @331 NONAME
|
||||
DPA_GetPtr=DPA_GetPtr@8 @332 NONAME
|
||||
DPA_GetPtrIndex=DPA_GetPtrIndex@8 @333 NONAME
|
||||
DPA_InsertPtr=DPA_InsertPtr@12 @334 NONAME
|
||||
DPA_SetPtr=DPA_SetPtr@12 @335 NONAME
|
||||
DPA_DeletePtr=DPA_DeletePtr@8 @336 NONAME
|
||||
DPA_DeleteAllPtrs=DPA_DeleteAllPtrs@4 @337 NONAME
|
||||
DPA_Sort=DPA_Sort@12 @338 NONAME
|
||||
DPA_Search=DPA_Search@24 @339 NONAME
|
||||
DPA_CreateEx=DPA_CreateEx@8 @340 NONAME
|
||||
SendNotify=SendNotify@16 @341 NONAME
|
||||
SendNotifyEx=SendNotifyEx@20 @342 NONAME
|
||||
StrChrA=StrChrA@8 @350 NONAME
|
||||
StrRChrA=StrRChrA@12 @351 NONAME
|
||||
StrCmpNA=StrCmpNA@12 @352 NONAME
|
||||
StrCmpNIA=StrCmpNIA@12 @353 NONAME
|
||||
StrStrA=StrStrA@8 @354 NONAME
|
||||
StrStrIA=StrStrIA@8 @355 NONAME
|
||||
StrCSpnA=StrCSpnA@8 @356 NONAME
|
||||
StrToIntA=StrToIntA@4 @357 NONAME
|
||||
StrChrW=StrChrW@8 @358 NONAME
|
||||
StrRChrW=StrRChrW@12 @359 NONAME
|
||||
StrCmpNW=StrCmpNW@12 @360 NONAME
|
||||
StrCmpNIW=StrCmpNIW@12 @361 NONAME
|
||||
StrStrW=StrStrW@8 @362 NONAME
|
||||
StrStrIW=StrStrIW@8 @363 NONAME
|
||||
StrSpnW=StrSpnW@8 @364 NONAME
|
||||
StrToIntW=StrToIntW@4 @365 NONAME
|
||||
SmoothScrollWindow=SmoothScrollWindow@4 @382 NONAME
|
||||
DPA_EnumCallback=DPA_EnumCallback@12 @385 NONAME
|
||||
DPA_DestroyCallback=DPA_DestroyCallback@12 @386 NONAME
|
||||
DSA_EnumCallback=DSA_EnumCallback@12 @387 NONAME
|
||||
DSA_DestroyCallback=DSA_DestroyCallback@12 @388 NONAME
|
||||
CreateMRUListW=CreateMRUListW@4 @400 NONAME
|
||||
AddMRUStringW=AddMRUStringW@8 @401 NONAME
|
||||
FindMRUStringW=FindMRUStringW@12 @402 NONAME
|
||||
EnumMRUListW=EnumMRUListW@16 @403 NONAME
|
||||
CreateMRUListLazyW=CreateMRUListLazyW@16 @404 NONAME
|
||||
SetWindowSubclass=SetWindowSubclass@16 @410
|
||||
GetWindowSubclass=GetWindowSubclass@16 @411
|
||||
RemoveWindowSubclass=RemoveWindowSubclass@12 @412
|
||||
DefSubclassProc=DefSubclassProc@16 @413
|
||||
DrawTextWrap=DrawTextWrap@20 @415 NONAME
|
||||
ExtTextOutWrap=ExtTextOutWrap@32 @417 NONAME
|
||||
GetTextExtentPointWrap=GetTextExtentPointWrap@16 @419 NONAME
|
||||
CreatePropertySheetPage=CreatePropertySheetPageA@4 @12
|
||||
CreatePropertySheetPageA=CreatePropertySheetPageA@4 @18
|
||||
CreatePropertySheetPageW=CreatePropertySheetPageW@4 @19
|
||||
CreateStatusWindow=CreateStatusWindowA@16 @20
|
||||
CreateStatusWindowW=CreateStatusWindowW@16 @21
|
||||
CreateToolbarEx=CreateToolbarEx@52 @22
|
||||
DestroyPropertySheetPage=DestroyPropertySheetPage@4 @23
|
||||
DllGetVersion=COMCTL32_DllGetVersion@4 @24
|
||||
DllInstall=COMCTL32_DllInstall@8 @25
|
||||
DrawStatusText=DrawStatusTextA@16 @26
|
||||
DrawStatusTextW=DrawStatusTextW@16 @27
|
||||
FlatSB_EnableScrollBar=FlatSB_EnableScrollBar@12 @28
|
||||
FlatSB_GetScrollInfo=FlatSB_GetScrollInfo@12 @29
|
||||
FlatSB_GetScrollPos=FlatSB_GetScrollPos@8 @30
|
||||
FlatSB_GetScrollProp=FlatSB_GetScrollProp@12 @31
|
||||
FlatSB_GetScrollRange=FlatSB_GetScrollRange@16 @32
|
||||
FlatSB_SetScrollInfo=FlatSB_SetScrollInfo@16 @33
|
||||
FlatSB_SetScrollPos=FlatSB_SetScrollPos@16 @34
|
||||
FlatSB_SetScrollProp=FlatSB_SetScrollProp@16 @35
|
||||
FlatSB_SetScrollRange=FlatSB_SetScrollRange@20 @36
|
||||
FlatSB_ShowScrollBar=FlatSB_ShowScrollBar@12 @37
|
||||
GetMUILanguage=GetMUILanguage@0 @38
|
||||
ImageList_Add=ImageList_Add@12 @39
|
||||
ImageList_AddIcon=ImageList_AddIcon@8 @40
|
||||
ImageList_AddMasked=ImageList_AddMasked@12 @41
|
||||
ImageList_BeginDrag=ImageList_BeginDrag@16 @42
|
||||
ImageList_Copy=ImageList_Copy@20 @43
|
||||
ImageList_Create=ImageList_Create@20 @44
|
||||
ImageList_Destroy=ImageList_Destroy@4 @45
|
||||
ImageList_DragEnter=ImageList_DragEnter@12 @46
|
||||
ImageList_DragLeave=ImageList_DragLeave@4 @47
|
||||
ImageList_DragMove=ImageList_DragMove@8 @48
|
||||
ImageList_DragShowNolock=ImageList_DragShowNolock@4 @49
|
||||
ImageList_Draw=ImageList_Draw@24 @50
|
||||
ImageList_DrawEx=ImageList_DrawEx@40 @51
|
||||
ImageList_DrawIndirect=ImageList_DrawIndirect@4 @52
|
||||
ImageList_Duplicate=ImageList_Duplicate@4 @53
|
||||
ImageList_EndDrag=ImageList_EndDrag@0 @54
|
||||
ImageList_GetBkColor=ImageList_GetBkColor@4 @55
|
||||
ImageList_GetDragImage=ImageList_GetDragImage@8 @56
|
||||
ImageList_GetFlags=ImageList_GetFlags@4 @57
|
||||
ImageList_GetIcon=ImageList_GetIcon@12 @58
|
||||
ImageList_GetIconSize=ImageList_GetIconSize@12 @59
|
||||
ImageList_GetImageCount=ImageList_GetImageCount@4 @60
|
||||
ImageList_GetImageInfo=ImageList_GetImageInfo@12 @61
|
||||
ImageList_GetImageRect=ImageList_GetImageRect@12 @62
|
||||
ImageList_LoadImage=ImageList_LoadImageA@28 @63
|
||||
ImageList_LoadImageA=ImageList_LoadImageA@28 @64
|
||||
ImageList_LoadImageW=ImageList_LoadImageW@28 @65
|
||||
ImageList_Merge=ImageList_Merge@24 @66
|
||||
ImageList_Read=ImageList_Read@4 @67
|
||||
ImageList_Remove=ImageList_Remove@8 @68
|
||||
ImageList_Replace=ImageList_Replace@16 @69
|
||||
ImageList_ReplaceIcon=ImageList_ReplaceIcon@12 @70
|
||||
ImageList_SetBkColor=ImageList_SetBkColor@8 @75
|
||||
ImageList_SetDragCursorImage=ImageList_SetDragCursorImage@16 @76
|
||||
ImageList_SetFilter=ImageList_SetFilter@12 @77
|
||||
ImageList_SetFlags=ImageList_SetFlags@8 @78
|
||||
ImageList_SetIconSize=ImageList_SetIconSize@12 @79
|
||||
ImageList_SetImageCount=ImageList_SetImageCount@8 @80
|
||||
ImageList_SetOverlayImage=ImageList_SetOverlayImage@12 @81
|
||||
ImageList_Write=ImageList_Write@8 @82
|
||||
InitCommonControlsEx=InitCommonControlsEx@4 @83
|
||||
InitMUILanguage=InitMUILanguage@4 @84
|
||||
InitializeFlatSB=InitializeFlatSB@4 @85
|
||||
PropertySheet=PropertySheetA@4 @86
|
||||
PropertySheetA=PropertySheetA@4 @87
|
||||
PropertySheetW=PropertySheetW@4 @88
|
||||
UninitializeFlatSB=UninitializeFlatSB@4 @89
|
||||
_TrackMouseEvent=_TrackMouseEvent@4 @90
|
||||
LIBRARY comctl32.dll
|
||||
EXPORTS
|
||||
MenuHelp=MenuHelp@28 @2
|
||||
ShowHideMenuCtl=ShowHideMenuCtl@12 @3
|
||||
GetEffectiveClientRect=GetEffectiveClientRect@12 @4
|
||||
DrawStatusTextA=DrawStatusTextA@16 @5
|
||||
CreateStatusWindowA=CreateStatusWindowA@16 @6
|
||||
CreateToolbar=CreateToolbar@32 @7
|
||||
CreateMappedBitmap=CreateMappedBitmap@20 @8
|
||||
DPA_LoadStream=DPA_LoadStream@16 @9 NONAME
|
||||
DPA_SaveStream=DPA_SaveStream@16 @10 NONAME
|
||||
DPA_Merge=DPA_Merge@24 @11 NONAME
|
||||
MakeDragList=MakeDragList@4 @13
|
||||
LBItemFromPt=LBItemFromPt@16 @14
|
||||
DrawInsert=DrawInsert@12 @15
|
||||
CreateUpDownControl=CreateUpDownControl@48 @16
|
||||
InitCommonControls=InitCommonControls@0 @17
|
||||
Alloc=Alloc@4 @71 NONAME
|
||||
ReAlloc=ReAlloc@8 @72 NONAME
|
||||
Free=Free@4 @73 NONAME
|
||||
GetSize=GetSize@4 @74 NONAME
|
||||
CreateMRUListA=CreateMRUListA@4 @151 NONAME
|
||||
FreeMRUList=FreeMRUList@4 @152 NONAME
|
||||
AddMRUStringA=AddMRUStringA@8 @153 NONAME
|
||||
EnumMRUListA=EnumMRUListA@16 @154 NONAME
|
||||
FindMRUStringA=FindMRUStringA@12 @155 NONAME
|
||||
DelMRUString=DelMRUString@8 @156 NONAME
|
||||
CreateMRUListLazyA=CreateMRUListLazyA@16 @157 NONAME
|
||||
AddMRUData=AddMRUData@12 @167 NONAME
|
||||
FindMRUData=FindMRUData@16 @169 NONAME
|
||||
Str_GetPtrA=Str_GetPtrA@12 @233 NONAME
|
||||
Str_SetPtrA=Str_SetPtrA@8 @234 NONAME
|
||||
Str_GetPtrW=Str_GetPtrW@12 @235 NONAME
|
||||
Str_SetPtrW=Str_SetPtrW@8 @236 NONAME
|
||||
DSA_Create=DSA_Create@8 @320 NONAME
|
||||
DSA_Destroy=DSA_Destroy@4 @321 NONAME
|
||||
DSA_GetItem=DSA_GetItem@12 @322 NONAME
|
||||
DSA_GetItemPtr=DSA_GetItemPtr@8 @323 NONAME
|
||||
DSA_InsertItem=DSA_InsertItem@12 @324 NONAME
|
||||
DSA_SetItem=DSA_SetItem@12 @325 NONAME
|
||||
DSA_DeleteItem=DSA_DeleteItem@8 @326 NONAME
|
||||
DSA_DeleteAllItems=DSA_DeleteAllItems@4 @327 NONAME
|
||||
DPA_Create=DPA_Create@4 @328 NONAME
|
||||
DPA_Destroy=DPA_Destroy@4 @329 NONAME
|
||||
DPA_Grow=DPA_Grow@8 @330 NONAME
|
||||
DPA_Clone=DPA_Clone@8 @331 NONAME
|
||||
DPA_GetPtr=DPA_GetPtr@8 @332 NONAME
|
||||
DPA_GetPtrIndex=DPA_GetPtrIndex@8 @333 NONAME
|
||||
DPA_InsertPtr=DPA_InsertPtr@12 @334 NONAME
|
||||
DPA_SetPtr=DPA_SetPtr@12 @335 NONAME
|
||||
DPA_DeletePtr=DPA_DeletePtr@8 @336 NONAME
|
||||
DPA_DeleteAllPtrs=DPA_DeleteAllPtrs@4 @337 NONAME
|
||||
DPA_Sort=DPA_Sort@12 @338 NONAME
|
||||
DPA_Search=DPA_Search@24 @339 NONAME
|
||||
DPA_CreateEx=DPA_CreateEx@8 @340 NONAME
|
||||
SendNotify=SendNotify@16 @341 NONAME
|
||||
SendNotifyEx=SendNotifyEx@20 @342 NONAME
|
||||
StrChrA=StrChrA@8 @350 NONAME
|
||||
StrRChrA=StrRChrA@12 @351 NONAME
|
||||
StrCmpNA=StrCmpNA@12 @352 NONAME
|
||||
StrCmpNIA=StrCmpNIA@12 @353 NONAME
|
||||
StrStrA=StrStrA@8 @354 NONAME
|
||||
StrStrIA=StrStrIA@8 @355 NONAME
|
||||
StrCSpnA=StrCSpnA@8 @356 NONAME
|
||||
StrToIntA=StrToIntA@4 @357 NONAME
|
||||
StrChrW=StrChrW@8 @358 NONAME
|
||||
StrRChrW=StrRChrW@12 @359 NONAME
|
||||
StrCmpNW=StrCmpNW@12 @360 NONAME
|
||||
StrCmpNIW=StrCmpNIW@12 @361 NONAME
|
||||
StrStrW=StrStrW@8 @362 NONAME
|
||||
StrStrIW=StrStrIW@8 @363 NONAME
|
||||
StrSpnW=StrSpnW@8 @364 NONAME
|
||||
StrToIntW=StrToIntW@4 @365 NONAME
|
||||
SmoothScrollWindow=SmoothScrollWindow@4 @382 NONAME
|
||||
DPA_EnumCallback=DPA_EnumCallback@12 @385 NONAME
|
||||
DPA_DestroyCallback=DPA_DestroyCallback@12 @386 NONAME
|
||||
DSA_EnumCallback=DSA_EnumCallback@12 @387 NONAME
|
||||
DSA_DestroyCallback=DSA_DestroyCallback@12 @388 NONAME
|
||||
CreateMRUListW=CreateMRUListW@4 @400 NONAME
|
||||
AddMRUStringW=AddMRUStringW@8 @401 NONAME
|
||||
FindMRUStringW=FindMRUStringW@12 @402 NONAME
|
||||
EnumMRUListW=EnumMRUListW@16 @403 NONAME
|
||||
CreateMRUListLazyW=CreateMRUListLazyW@16 @404 NONAME
|
||||
SetWindowSubclass=SetWindowSubclass@16 @410
|
||||
GetWindowSubclass=GetWindowSubclass@16 @411
|
||||
RemoveWindowSubclass=RemoveWindowSubclass@12 @412
|
||||
DefSubclassProc=DefSubclassProc@16 @413
|
||||
DrawTextWrap=DrawTextWrap@20 @415 NONAME
|
||||
ExtTextOutWrap=ExtTextOutWrap@32 @417 NONAME
|
||||
GetTextExtentPointWrap=GetTextExtentPointWrap@16 @419 NONAME
|
||||
CreatePropertySheetPage=CreatePropertySheetPageA@4 @12
|
||||
CreatePropertySheetPageA=CreatePropertySheetPageA@4 @18
|
||||
CreatePropertySheetPageW=CreatePropertySheetPageW@4 @19
|
||||
CreateStatusWindow=CreateStatusWindowA@16 @20
|
||||
CreateStatusWindowW=CreateStatusWindowW@16 @21
|
||||
CreateToolbarEx=CreateToolbarEx@52 @22
|
||||
DestroyPropertySheetPage=DestroyPropertySheetPage@4 @23
|
||||
DllGetVersion=COMCTL32_DllGetVersion@4 @24
|
||||
DllInstall=COMCTL32_DllInstall@8 @25
|
||||
DrawStatusText=DrawStatusTextA@16 @26
|
||||
DrawStatusTextW=DrawStatusTextW@16 @27
|
||||
FlatSB_EnableScrollBar=FlatSB_EnableScrollBar@12 @28
|
||||
FlatSB_GetScrollInfo=FlatSB_GetScrollInfo@12 @29
|
||||
FlatSB_GetScrollPos=FlatSB_GetScrollPos@8 @30
|
||||
FlatSB_GetScrollProp=FlatSB_GetScrollProp@12 @31
|
||||
FlatSB_GetScrollRange=FlatSB_GetScrollRange@16 @32
|
||||
FlatSB_SetScrollInfo=FlatSB_SetScrollInfo@16 @33
|
||||
FlatSB_SetScrollPos=FlatSB_SetScrollPos@16 @34
|
||||
FlatSB_SetScrollProp=FlatSB_SetScrollProp@16 @35
|
||||
FlatSB_SetScrollRange=FlatSB_SetScrollRange@20 @36
|
||||
FlatSB_ShowScrollBar=FlatSB_ShowScrollBar@12 @37
|
||||
GetMUILanguage=GetMUILanguage@0 @38
|
||||
ImageList_Add=ImageList_Add@12 @39
|
||||
ImageList_AddIcon=ImageList_AddIcon@8 @40
|
||||
ImageList_AddMasked=ImageList_AddMasked@12 @41
|
||||
ImageList_BeginDrag=ImageList_BeginDrag@16 @42
|
||||
ImageList_Copy=ImageList_Copy@20 @43
|
||||
ImageList_Create=ImageList_Create@20 @44
|
||||
ImageList_Destroy=ImageList_Destroy@4 @45
|
||||
ImageList_DragEnter=ImageList_DragEnter@12 @46
|
||||
ImageList_DragLeave=ImageList_DragLeave@4 @47
|
||||
ImageList_DragMove=ImageList_DragMove@8 @48
|
||||
ImageList_DragShowNolock=ImageList_DragShowNolock@4 @49
|
||||
ImageList_Draw=ImageList_Draw@24 @50
|
||||
ImageList_DrawEx=ImageList_DrawEx@40 @51
|
||||
ImageList_DrawIndirect=ImageList_DrawIndirect@4 @52
|
||||
ImageList_Duplicate=ImageList_Duplicate@4 @53
|
||||
ImageList_EndDrag=ImageList_EndDrag@0 @54
|
||||
ImageList_GetBkColor=ImageList_GetBkColor@4 @55
|
||||
ImageList_GetDragImage=ImageList_GetDragImage@8 @56
|
||||
ImageList_GetFlags=ImageList_GetFlags@4 @57
|
||||
ImageList_GetIcon=ImageList_GetIcon@12 @58
|
||||
ImageList_GetIconSize=ImageList_GetIconSize@12 @59
|
||||
ImageList_GetImageCount=ImageList_GetImageCount@4 @60
|
||||
ImageList_GetImageInfo=ImageList_GetImageInfo@12 @61
|
||||
ImageList_GetImageRect=ImageList_GetImageRect@12 @62
|
||||
ImageList_LoadImage=ImageList_LoadImageA@28 @63
|
||||
ImageList_LoadImageA=ImageList_LoadImageA@28 @64
|
||||
ImageList_LoadImageW=ImageList_LoadImageW@28 @65
|
||||
ImageList_Merge=ImageList_Merge@24 @66
|
||||
ImageList_Read=ImageList_Read@4 @67
|
||||
ImageList_Remove=ImageList_Remove@8 @68
|
||||
ImageList_Replace=ImageList_Replace@16 @69
|
||||
ImageList_ReplaceIcon=ImageList_ReplaceIcon@12 @70
|
||||
ImageList_SetBkColor=ImageList_SetBkColor@8 @75
|
||||
ImageList_SetDragCursorImage=ImageList_SetDragCursorImage@16 @76
|
||||
ImageList_SetFilter=ImageList_SetFilter@12 @77
|
||||
ImageList_SetFlags=ImageList_SetFlags@8 @78
|
||||
ImageList_SetIconSize=ImageList_SetIconSize@12 @79
|
||||
ImageList_SetImageCount=ImageList_SetImageCount@8 @80
|
||||
ImageList_SetOverlayImage=ImageList_SetOverlayImage@12 @81
|
||||
ImageList_Write=ImageList_Write@8 @82
|
||||
InitCommonControlsEx=InitCommonControlsEx@4 @83
|
||||
InitMUILanguage=InitMUILanguage@4 @84
|
||||
InitializeFlatSB=InitializeFlatSB@4 @85
|
||||
PropertySheet=PropertySheetA@4 @86
|
||||
PropertySheetA=PropertySheetA@4 @87
|
||||
PropertySheetW=PropertySheetW@4 @88
|
||||
UninitializeFlatSB=UninitializeFlatSB@4 @89
|
||||
_TrackMouseEvent=_TrackMouseEvent@4 @90
|
||||
|
||||
+212
-212
@@ -1,212 +1,212 @@
|
||||
/******************************************************************************
|
||||
*
|
||||
* Common definitions (resource ids and global variables)
|
||||
*
|
||||
* Copyright 1999 Thuy Nguyen
|
||||
* Copyright 1999 Eric Kohl
|
||||
* Copyright 2002 Dimitrie O. Paun
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_COMCTL32_H
|
||||
#define __WINE_COMCTL32_H
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
|
||||
extern HMODULE COMCTL32_hModule;
|
||||
extern HBRUSH COMCTL32_hPattern55AABrush;
|
||||
|
||||
/* Property sheet / Wizard */
|
||||
#define IDD_PROPSHEET 1006
|
||||
#define IDD_WIZARD 1020
|
||||
|
||||
#define IDC_TABCONTROL 12320
|
||||
#define IDC_APPLY_BUTTON 12321
|
||||
#define IDC_BACK_BUTTON 12323
|
||||
#define IDC_NEXT_BUTTON 12324
|
||||
#define IDC_FINISH_BUTTON 12325
|
||||
#define IDC_SUNKEN_LINE 12326
|
||||
|
||||
#define IDS_CLOSE 4160
|
||||
|
||||
/* Toolbar customization dialog */
|
||||
#define IDD_TBCUSTOMIZE 200
|
||||
|
||||
#define IDC_AVAILBTN_LBOX 201
|
||||
#define IDC_RESET_BTN 202
|
||||
#define IDC_TOOLBARBTN_LBOX 203
|
||||
#define IDC_REMOVE_BTN 204
|
||||
#define IDC_HELP_BTN 205
|
||||
#define IDC_MOVEUP_BTN 206
|
||||
#define IDC_MOVEDN_BTN 207
|
||||
|
||||
#define IDS_SEPARATOR 1024
|
||||
|
||||
/* Toolbar imagelist bitmaps */
|
||||
#define IDB_STD_SMALL 120
|
||||
#define IDB_STD_LARGE 121
|
||||
#define IDB_VIEW_SMALL 124
|
||||
#define IDB_VIEW_LARGE 125
|
||||
#define IDB_HIST_SMALL 130
|
||||
#define IDB_HIST_LARGE 131
|
||||
|
||||
|
||||
/* Month calendar month menu popup */
|
||||
#define IDD_MCMONTHMENU 300
|
||||
|
||||
#define IDM_JAN 301
|
||||
#define IDM_FEB 302
|
||||
#define IDM_MAR 303
|
||||
#define IDM_APR 304
|
||||
#define IDM_MAY 305
|
||||
#define IDM_JUN 306
|
||||
#define IDM_JUL 307
|
||||
#define IDM_AUG 308
|
||||
#define IDM_SEP 309
|
||||
#define IDM_OCT 310
|
||||
#define IDM_NOV 311
|
||||
#define IDM_DEC 312
|
||||
|
||||
#define IDM_TODAY 4163
|
||||
#define IDM_GOTODAY 4164
|
||||
|
||||
/* Treeview Checkboxes */
|
||||
|
||||
#define IDT_CHECK 401
|
||||
|
||||
|
||||
/* Header cursors */
|
||||
#define IDC_DIVIDER 106
|
||||
#define IDC_DIVIDEROPEN 107
|
||||
|
||||
|
||||
/* DragList icon */
|
||||
#define IDI_DRAGARROW 150
|
||||
|
||||
|
||||
/* HOTKEY internal strings */
|
||||
#define HKY_NONE 2048
|
||||
|
||||
typedef struct
|
||||
{
|
||||
COLORREF clrBtnHighlight; /* COLOR_BTNHIGHLIGHT */
|
||||
COLORREF clrBtnShadow; /* COLOR_BTNSHADOW */
|
||||
COLORREF clrBtnText; /* COLOR_BTNTEXT */
|
||||
COLORREF clrBtnFace; /* COLOR_BTNFACE */
|
||||
COLORREF clrHighlight; /* COLOR_HIGHLIGHT */
|
||||
COLORREF clrHighlightText; /* COLOR_HIGHLIGHTTEXT */
|
||||
COLORREF clr3dHilight; /* COLOR_3DHILIGHT */
|
||||
COLORREF clr3dShadow; /* COLOR_3DSHADOW */
|
||||
COLORREF clr3dDkShadow; /* COLOR_3DDKSHADOW */
|
||||
COLORREF clr3dFace; /* COLOR_3DFACE */
|
||||
COLORREF clrWindow; /* COLOR_WINDOW */
|
||||
COLORREF clrWindowText; /* COLOR_WINDOWTEXT */
|
||||
COLORREF clrGrayText; /* COLOR_GREYTEXT */
|
||||
COLORREF clrActiveCaption; /* COLOR_ACTIVECAPTION */
|
||||
COLORREF clrInfoBk; /* COLOR_INFOBK */
|
||||
COLORREF clrInfoText; /* COLOR_INFOTEXT */
|
||||
} COMCTL32_SysColor;
|
||||
|
||||
extern COMCTL32_SysColor comctl32_color;
|
||||
|
||||
/* Internal function */
|
||||
HWND COMCTL32_CreateToolTip (HWND);
|
||||
VOID COMCTL32_RefreshSysColors(void);
|
||||
INT Str_GetPtrWtoA (LPCWSTR lpSrc, LPSTR lpDest, INT nMaxLen);
|
||||
BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc);
|
||||
|
||||
#define COMCTL32_VERSION_MINOR 80
|
||||
#define WINE_FILEVERSION 5, COMCTL32_VERSION_MINOR, 0, 0
|
||||
#define WINE_FILEVERSIONSTR "5.80"
|
||||
|
||||
/* Our internal stack structure of the window procedures to subclass */
|
||||
typedef struct
|
||||
{
|
||||
struct {
|
||||
SUBCLASSPROC subproc;
|
||||
UINT_PTR id;
|
||||
DWORD_PTR ref;
|
||||
} SubclassProcs[31];
|
||||
int stackpos;
|
||||
int stacknum;
|
||||
int stacknew;
|
||||
WNDPROC origproc;
|
||||
} SUBCLASS_INFO, *LPSUBCLASS_INFO;
|
||||
|
||||
/* undocumented functions */
|
||||
|
||||
LPVOID WINAPI Alloc (DWORD);
|
||||
LPVOID WINAPI ReAlloc (LPVOID, DWORD);
|
||||
BOOL WINAPI Free (LPVOID);
|
||||
DWORD WINAPI GetSize (LPVOID);
|
||||
|
||||
INT WINAPI Str_GetPtrA (LPCSTR, LPSTR, INT);
|
||||
INT WINAPI Str_GetPtrW (LPCWSTR, LPWSTR, INT);
|
||||
|
||||
INT WINAPI DPA_GetPtrIndex (const HDPA, LPVOID);
|
||||
BOOL WINAPI DPA_Grow (const HDPA, INT);
|
||||
|
||||
#define DPAM_NOSORT 0x0001
|
||||
#define DPAM_INSERT 0x0004
|
||||
#define DPAM_DELETE 0x0008
|
||||
|
||||
typedef PVOID (CALLBACK *PFNDPAMERGE)(DWORD,PVOID,PVOID,LPARAM);
|
||||
BOOL WINAPI DPA_Merge (const HDPA, const HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE, LPARAM);
|
||||
|
||||
#define DPA_GetPtrCount(hdpa) (*(INT*)(hdpa))
|
||||
|
||||
/*
|
||||
* The following is ReactOS specific, present in Wine's commctrl.h
|
||||
*/
|
||||
|
||||
#ifdef __REACTOS__
|
||||
#define TBSTYLE_EX_UNDOC1 0x04
|
||||
|
||||
/* Undocumented messages in Toolbar */
|
||||
#define TB_UNKWN45D (WM_USER+93)
|
||||
#define TB_UNKWN45E (WM_USER+94)
|
||||
#define TB_UNKWN460 (WM_USER+96)
|
||||
#define TB_UNKWN463 (WM_USER+99)
|
||||
#define TB_UNKWN464 (WM_USER+100)
|
||||
|
||||
#define Header_GetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_GETITEMA,(WPARAM)(i),(LPARAM)(HDITEMA*)(d))
|
||||
#define Header_GetItemW(w,i,d) (BOOL)SendMessageW((w),HDM_GETITEMW,(WPARAM)(i),(LPARAM)(HDITEMW*)(d))
|
||||
#define Header_SetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_SETITEMA,(WPARAM)(i),(LPARAM)(const HDITEMA*)(d))
|
||||
#define Header_SetItemW(w,i,d) (BOOL)SendMessageW((w),HDM_SETITEMW,(WPARAM)(i),(LPARAM)(const HDITEMW*)(d))
|
||||
#define ListView_FindItemA(w,p,i) (INT)SendMessageA((w),LVM_FINDITEMA,(WPARAM)(p),(LPARAM)(LVFINDINFOA*)(i))
|
||||
#define ListView_FindItemW(w,p,i) (INT)SendMessageW((w),LVM_FINDITEMW,(WPARAM)(p),(LPARAM)(LVFINDINFOW*)(i))
|
||||
|
||||
#define FLATSB_CLASSA "flatsb_class32"
|
||||
|
||||
/* FIXME: Rebar definition hack, should be patched in Wine */
|
||||
#undef RB_GETBANDINFO
|
||||
#define RB_GETBANDINFO (WM_USER+5) /* just for compatibility */
|
||||
|
||||
/* Property sheet Wizard 97 styles */
|
||||
#define PSH_WIZARD97_OLD 0x2000
|
||||
#define PSH_WIZARD97_NEW 0x1000000
|
||||
#endif
|
||||
|
||||
#endif /* __WINE_COMCTL32_H */
|
||||
/******************************************************************************
|
||||
*
|
||||
* Common definitions (resource ids and global variables)
|
||||
*
|
||||
* Copyright 1999 Thuy Nguyen
|
||||
* Copyright 1999 Eric Kohl
|
||||
* Copyright 2002 Dimitrie O. Paun
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_COMCTL32_H
|
||||
#define __WINE_COMCTL32_H
|
||||
|
||||
#ifndef RC_INVOKED
|
||||
#include <stdarg.h>
|
||||
#endif
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
|
||||
extern HMODULE COMCTL32_hModule;
|
||||
extern HBRUSH COMCTL32_hPattern55AABrush;
|
||||
|
||||
/* Property sheet / Wizard */
|
||||
#define IDD_PROPSHEET 1006
|
||||
#define IDD_WIZARD 1020
|
||||
|
||||
#define IDC_TABCONTROL 12320
|
||||
#define IDC_APPLY_BUTTON 12321
|
||||
#define IDC_BACK_BUTTON 12323
|
||||
#define IDC_NEXT_BUTTON 12324
|
||||
#define IDC_FINISH_BUTTON 12325
|
||||
#define IDC_SUNKEN_LINE 12326
|
||||
|
||||
#define IDS_CLOSE 4160
|
||||
|
||||
/* Toolbar customization dialog */
|
||||
#define IDD_TBCUSTOMIZE 200
|
||||
|
||||
#define IDC_AVAILBTN_LBOX 201
|
||||
#define IDC_RESET_BTN 202
|
||||
#define IDC_TOOLBARBTN_LBOX 203
|
||||
#define IDC_REMOVE_BTN 204
|
||||
#define IDC_HELP_BTN 205
|
||||
#define IDC_MOVEUP_BTN 206
|
||||
#define IDC_MOVEDN_BTN 207
|
||||
|
||||
#define IDS_SEPARATOR 1024
|
||||
|
||||
/* Toolbar imagelist bitmaps */
|
||||
#define IDB_STD_SMALL 120
|
||||
#define IDB_STD_LARGE 121
|
||||
#define IDB_VIEW_SMALL 124
|
||||
#define IDB_VIEW_LARGE 125
|
||||
#define IDB_HIST_SMALL 130
|
||||
#define IDB_HIST_LARGE 131
|
||||
|
||||
|
||||
/* Month calendar month menu popup */
|
||||
#define IDD_MCMONTHMENU 300
|
||||
|
||||
#define IDM_JAN 301
|
||||
#define IDM_FEB 302
|
||||
#define IDM_MAR 303
|
||||
#define IDM_APR 304
|
||||
#define IDM_MAY 305
|
||||
#define IDM_JUN 306
|
||||
#define IDM_JUL 307
|
||||
#define IDM_AUG 308
|
||||
#define IDM_SEP 309
|
||||
#define IDM_OCT 310
|
||||
#define IDM_NOV 311
|
||||
#define IDM_DEC 312
|
||||
|
||||
#define IDM_TODAY 4163
|
||||
#define IDM_GOTODAY 4164
|
||||
|
||||
/* Treeview Checkboxes */
|
||||
|
||||
#define IDT_CHECK 401
|
||||
|
||||
|
||||
/* Header cursors */
|
||||
#define IDC_DIVIDER 106
|
||||
#define IDC_DIVIDEROPEN 107
|
||||
|
||||
|
||||
/* DragList icon */
|
||||
#define IDI_DRAGARROW 150
|
||||
|
||||
|
||||
/* HOTKEY internal strings */
|
||||
#define HKY_NONE 2048
|
||||
|
||||
typedef struct
|
||||
{
|
||||
COLORREF clrBtnHighlight; /* COLOR_BTNHIGHLIGHT */
|
||||
COLORREF clrBtnShadow; /* COLOR_BTNSHADOW */
|
||||
COLORREF clrBtnText; /* COLOR_BTNTEXT */
|
||||
COLORREF clrBtnFace; /* COLOR_BTNFACE */
|
||||
COLORREF clrHighlight; /* COLOR_HIGHLIGHT */
|
||||
COLORREF clrHighlightText; /* COLOR_HIGHLIGHTTEXT */
|
||||
COLORREF clr3dHilight; /* COLOR_3DHILIGHT */
|
||||
COLORREF clr3dShadow; /* COLOR_3DSHADOW */
|
||||
COLORREF clr3dDkShadow; /* COLOR_3DDKSHADOW */
|
||||
COLORREF clr3dFace; /* COLOR_3DFACE */
|
||||
COLORREF clrWindow; /* COLOR_WINDOW */
|
||||
COLORREF clrWindowText; /* COLOR_WINDOWTEXT */
|
||||
COLORREF clrGrayText; /* COLOR_GREYTEXT */
|
||||
COLORREF clrActiveCaption; /* COLOR_ACTIVECAPTION */
|
||||
COLORREF clrInfoBk; /* COLOR_INFOBK */
|
||||
COLORREF clrInfoText; /* COLOR_INFOTEXT */
|
||||
} COMCTL32_SysColor;
|
||||
|
||||
extern COMCTL32_SysColor comctl32_color;
|
||||
|
||||
/* Internal function */
|
||||
HWND COMCTL32_CreateToolTip (HWND);
|
||||
VOID COMCTL32_RefreshSysColors(void);
|
||||
INT Str_GetPtrWtoA (LPCWSTR lpSrc, LPSTR lpDest, INT nMaxLen);
|
||||
BOOL Str_SetPtrAtoW (LPWSTR *lppDest, LPCSTR lpSrc);
|
||||
|
||||
#define COMCTL32_VERSION_MINOR 80
|
||||
#define WINE_FILEVERSION 5, COMCTL32_VERSION_MINOR, 0, 0
|
||||
#define WINE_FILEVERSIONSTR "5.80"
|
||||
|
||||
/* Our internal stack structure of the window procedures to subclass */
|
||||
typedef struct
|
||||
{
|
||||
struct {
|
||||
SUBCLASSPROC subproc;
|
||||
UINT_PTR id;
|
||||
DWORD_PTR ref;
|
||||
} SubclassProcs[31];
|
||||
int stackpos;
|
||||
int stacknum;
|
||||
int stacknew;
|
||||
WNDPROC origproc;
|
||||
} SUBCLASS_INFO, *LPSUBCLASS_INFO;
|
||||
|
||||
/* undocumented functions */
|
||||
|
||||
LPVOID WINAPI Alloc (DWORD);
|
||||
LPVOID WINAPI ReAlloc (LPVOID, DWORD);
|
||||
BOOL WINAPI Free (LPVOID);
|
||||
DWORD WINAPI GetSize (LPVOID);
|
||||
|
||||
INT WINAPI Str_GetPtrA (LPCSTR, LPSTR, INT);
|
||||
INT WINAPI Str_GetPtrW (LPCWSTR, LPWSTR, INT);
|
||||
|
||||
INT WINAPI DPA_GetPtrIndex (const HDPA, LPVOID);
|
||||
BOOL WINAPI DPA_Grow (const HDPA, INT);
|
||||
|
||||
#define DPAM_NOSORT 0x0001
|
||||
#define DPAM_INSERT 0x0004
|
||||
#define DPAM_DELETE 0x0008
|
||||
|
||||
typedef PVOID (CALLBACK *PFNDPAMERGE)(DWORD,PVOID,PVOID,LPARAM);
|
||||
BOOL WINAPI DPA_Merge (const HDPA, const HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE, LPARAM);
|
||||
|
||||
#define DPA_GetPtrCount(hdpa) (*(INT*)(hdpa))
|
||||
|
||||
/*
|
||||
* The following is ReactOS specific, present in Wine's commctrl.h
|
||||
*/
|
||||
|
||||
#ifdef __REACTOS__
|
||||
#define TBSTYLE_EX_UNDOC1 0x04
|
||||
|
||||
/* Undocumented messages in Toolbar */
|
||||
#define TB_UNKWN45D (WM_USER+93)
|
||||
#define TB_UNKWN45E (WM_USER+94)
|
||||
#define TB_UNKWN460 (WM_USER+96)
|
||||
#define TB_UNKWN463 (WM_USER+99)
|
||||
#define TB_UNKWN464 (WM_USER+100)
|
||||
|
||||
#define Header_GetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_GETITEMA,(WPARAM)(i),(LPARAM)(HDITEMA*)(d))
|
||||
#define Header_GetItemW(w,i,d) (BOOL)SendMessageW((w),HDM_GETITEMW,(WPARAM)(i),(LPARAM)(HDITEMW*)(d))
|
||||
#define Header_SetItemA(w,i,d) (BOOL)SendMessageA((w),HDM_SETITEMA,(WPARAM)(i),(LPARAM)(const HDITEMA*)(d))
|
||||
#define Header_SetItemW(w,i,d) (BOOL)SendMessageW((w),HDM_SETITEMW,(WPARAM)(i),(LPARAM)(const HDITEMW*)(d))
|
||||
#define ListView_FindItemA(w,p,i) (INT)SendMessageA((w),LVM_FINDITEMA,(WPARAM)(p),(LPARAM)(LVFINDINFOA*)(i))
|
||||
#define ListView_FindItemW(w,p,i) (INT)SendMessageW((w),LVM_FINDITEMW,(WPARAM)(p),(LPARAM)(LVFINDINFOW*)(i))
|
||||
|
||||
#define FLATSB_CLASSA "flatsb_class32"
|
||||
|
||||
/* FIXME: Rebar definition hack, should be patched in Wine */
|
||||
#undef RB_GETBANDINFO
|
||||
#define RB_GETBANDINFO (WM_USER+5) /* just for compatibility */
|
||||
|
||||
/* Property sheet Wizard 97 styles */
|
||||
#define PSH_WIZARD97_OLD 0x2000
|
||||
#define PSH_WIZARD97_NEW 0x1000000
|
||||
#endif
|
||||
|
||||
#endif /* __WINE_COMCTL32_H */
|
||||
|
||||
@@ -1,41 +1,41 @@
|
||||
/*
|
||||
* FIXME:
|
||||
* Can't use Wine's resource script because it doesn't work with windres.
|
||||
*/
|
||||
|
||||
/*#include "rsrc.rc"*/
|
||||
|
||||
#include <windows.h>
|
||||
#include "comctl32.h"
|
||||
#include "wine/wine_common_ver.rc"
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
IDB_STD_SMALL BITMAP "res/idb_std_small.bmp"
|
||||
IDB_STD_LARGE BITMAP "res/idb_std_large.bmp"
|
||||
IDB_VIEW_SMALL BITMAP "res/idb_view_small.bmp"
|
||||
IDB_VIEW_LARGE BITMAP "res/idb_view_large.bmp"
|
||||
IDB_HIST_SMALL BITMAP "res/idb_hist_small.bmp"
|
||||
IDB_HIST_LARGE BITMAP "res/idb_hist_large.bmp"
|
||||
IDC_DIVIDER CURSOR "res/idc_divider.cur"
|
||||
IDC_DIVIDEROPEN CURSOR "res/idc_divideropen.cur"
|
||||
IDI_DRAGARROW ICON "res/idi_dragarrow.ico"
|
||||
|
||||
/*
|
||||
* Everything specific to any language goes
|
||||
* in one of the specific files.
|
||||
* Note that you can and may override resources
|
||||
* which also have a neutral version. This is to
|
||||
* get localized bitmaps for example.
|
||||
*/
|
||||
|
||||
#include "res/comctl_En.rc"
|
||||
#include "res/comctl_Cn.rc"
|
||||
#include "res/comctl_De.rc"
|
||||
#include "res/comctl_Fr.rc"
|
||||
#include "res/comctl_Es.rc"
|
||||
#include "res/comctl_Ko.rc"
|
||||
#include "res/comctl_Pl.rc"
|
||||
#include "res/comctl_Pt.rc"
|
||||
#include "res/comctl_Ru.rc"
|
||||
#include "res/comctl_Si.rc"
|
||||
/*
|
||||
* FIXME:
|
||||
* Can't use Wine's resource script because it doesn't work with windres.
|
||||
*/
|
||||
|
||||
/*#include "rsrc.rc"*/
|
||||
|
||||
#include <windows.h>
|
||||
#include "comctl32.h"
|
||||
#include "wine/wine_common_ver.rc"
|
||||
|
||||
LANGUAGE LANG_NEUTRAL, SUBLANG_NEUTRAL
|
||||
|
||||
IDB_STD_SMALL BITMAP "res/idb_std_small.bmp"
|
||||
IDB_STD_LARGE BITMAP "res/idb_std_large.bmp"
|
||||
IDB_VIEW_SMALL BITMAP "res/idb_view_small.bmp"
|
||||
IDB_VIEW_LARGE BITMAP "res/idb_view_large.bmp"
|
||||
IDB_HIST_SMALL BITMAP "res/idb_hist_small.bmp"
|
||||
IDB_HIST_LARGE BITMAP "res/idb_hist_large.bmp"
|
||||
IDC_DIVIDER CURSOR "res/idc_divider.cur"
|
||||
IDC_DIVIDEROPEN CURSOR "res/idc_divideropen.cur"
|
||||
IDI_DRAGARROW ICON "res/idi_dragarrow.ico"
|
||||
|
||||
/*
|
||||
* Everything specific to any language goes
|
||||
* in one of the specific files.
|
||||
* Note that you can and may override resources
|
||||
* which also have a neutral version. This is to
|
||||
* get localized bitmaps for example.
|
||||
*/
|
||||
|
||||
#include "res/comctl_En.rc"
|
||||
#include "res/comctl_Cn.rc"
|
||||
#include "res/comctl_De.rc"
|
||||
#include "res/comctl_Fr.rc"
|
||||
#include "res/comctl_Es.rc"
|
||||
#include "res/comctl_Ko.rc"
|
||||
#include "res/comctl_Pl.rc"
|
||||
#include "res/comctl_Pt.rc"
|
||||
#include "res/comctl_Ru.rc"
|
||||
#include "res/comctl_Si.rc"
|
||||
|
||||
+2780
-2780
File diff suppressed because it is too large
Load Diff
+1394
-1394
File diff suppressed because it is too large
Load Diff
+1373
-1373
File diff suppressed because it is too large
Load Diff
+133
-133
@@ -1,133 +1,133 @@
|
||||
/*
|
||||
* Drag List control
|
||||
*
|
||||
* Copyright 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTES
|
||||
* This is just a dummy control. An author is needed! Any volunteers?
|
||||
* I will only improve this control once in a while.
|
||||
* Eric <[email protected]>
|
||||
*
|
||||
* TODO:
|
||||
* - Everything.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
|
||||
|
||||
static DWORD dwLastScrollTime = 0;
|
||||
|
||||
/***********************************************************************
|
||||
* MakeDragList (COMCTL32.13)
|
||||
*/
|
||||
BOOL WINAPI MakeDragList (HWND hwndLB)
|
||||
{
|
||||
FIXME("(%p)\n", hwndLB);
|
||||
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DrawInsert (COMCTL32.15)
|
||||
*/
|
||||
VOID WINAPI DrawInsert (HWND hwndParent, HWND hwndLB, INT nItem)
|
||||
{
|
||||
FIXME("(%p %p %d)\n", hwndParent, hwndLB, nItem);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* LBItemFromPt (COMCTL32.14)
|
||||
*/
|
||||
INT WINAPI LBItemFromPt (HWND hwndLB, POINT pt, BOOL bAutoScroll)
|
||||
{
|
||||
RECT rcClient;
|
||||
INT nIndex;
|
||||
DWORD dwScrollTime;
|
||||
|
||||
FIXME("(%p %ld x %ld %s)\n",
|
||||
hwndLB, pt.x, pt.y, bAutoScroll ? "TRUE" : "FALSE");
|
||||
|
||||
ScreenToClient (hwndLB, &pt);
|
||||
GetClientRect (hwndLB, &rcClient);
|
||||
nIndex = (INT)SendMessageA (hwndLB, LB_GETTOPINDEX, 0, 0);
|
||||
|
||||
if (PtInRect (&rcClient, pt))
|
||||
{
|
||||
/* point is inside -- get the item index */
|
||||
while (TRUE)
|
||||
{
|
||||
if (SendMessageA (hwndLB, LB_GETITEMRECT, nIndex, (LPARAM)&rcClient) == LB_ERR)
|
||||
return -1;
|
||||
|
||||
if (PtInRect (&rcClient, pt))
|
||||
return nIndex;
|
||||
|
||||
nIndex++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* point is outside */
|
||||
if (!bAutoScroll)
|
||||
return -1;
|
||||
|
||||
if ((pt.x > rcClient.right) || (pt.x < rcClient.left))
|
||||
return -1;
|
||||
|
||||
if (pt.y < 0)
|
||||
nIndex--;
|
||||
else
|
||||
nIndex++;
|
||||
|
||||
dwScrollTime = GetTickCount ();
|
||||
|
||||
if ((dwScrollTime - dwLastScrollTime) < 200)
|
||||
return -1;
|
||||
|
||||
dwLastScrollTime = dwScrollTime;
|
||||
|
||||
SendMessageA (hwndLB, LB_SETTOPINDEX, (WPARAM)nIndex, 0);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
static LRESULT CALLBACK
|
||||
DRAGLIST_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
/*
|
||||
* Drag List control
|
||||
*
|
||||
* Copyright 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTES
|
||||
* This is just a dummy control. An author is needed! Any volunteers?
|
||||
* I will only improve this control once in a while.
|
||||
* Eric <[email protected]>
|
||||
*
|
||||
* TODO:
|
||||
* - Everything.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
|
||||
|
||||
static DWORD dwLastScrollTime = 0;
|
||||
|
||||
/***********************************************************************
|
||||
* MakeDragList (COMCTL32.13)
|
||||
*/
|
||||
BOOL WINAPI MakeDragList (HWND hwndLB)
|
||||
{
|
||||
FIXME("(%p)\n", hwndLB);
|
||||
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* DrawInsert (COMCTL32.15)
|
||||
*/
|
||||
VOID WINAPI DrawInsert (HWND hwndParent, HWND hwndLB, INT nItem)
|
||||
{
|
||||
FIXME("(%p %p %d)\n", hwndParent, hwndLB, nItem);
|
||||
|
||||
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* LBItemFromPt (COMCTL32.14)
|
||||
*/
|
||||
INT WINAPI LBItemFromPt (HWND hwndLB, POINT pt, BOOL bAutoScroll)
|
||||
{
|
||||
RECT rcClient;
|
||||
INT nIndex;
|
||||
DWORD dwScrollTime;
|
||||
|
||||
FIXME("(%p %ld x %ld %s)\n",
|
||||
hwndLB, pt.x, pt.y, bAutoScroll ? "TRUE" : "FALSE");
|
||||
|
||||
ScreenToClient (hwndLB, &pt);
|
||||
GetClientRect (hwndLB, &rcClient);
|
||||
nIndex = (INT)SendMessageA (hwndLB, LB_GETTOPINDEX, 0, 0);
|
||||
|
||||
if (PtInRect (&rcClient, pt))
|
||||
{
|
||||
/* point is inside -- get the item index */
|
||||
while (TRUE)
|
||||
{
|
||||
if (SendMessageA (hwndLB, LB_GETITEMRECT, nIndex, (LPARAM)&rcClient) == LB_ERR)
|
||||
return -1;
|
||||
|
||||
if (PtInRect (&rcClient, pt))
|
||||
return nIndex;
|
||||
|
||||
nIndex++;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
/* point is outside */
|
||||
if (!bAutoScroll)
|
||||
return -1;
|
||||
|
||||
if ((pt.x > rcClient.right) || (pt.x < rcClient.left))
|
||||
return -1;
|
||||
|
||||
if (pt.y < 0)
|
||||
nIndex--;
|
||||
else
|
||||
nIndex++;
|
||||
|
||||
dwScrollTime = GetTickCount ();
|
||||
|
||||
if ((dwScrollTime - dwLastScrollTime) < 200)
|
||||
return -1;
|
||||
|
||||
dwLastScrollTime = dwScrollTime;
|
||||
|
||||
SendMessageA (hwndLB, LB_SETTOPINDEX, (WPARAM)nIndex, 0);
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
|
||||
#if 0
|
||||
static LRESULT CALLBACK
|
||||
DRAGLIST_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
||||
+261
-261
@@ -1,261 +1,261 @@
|
||||
/*
|
||||
* Flat Scrollbar control
|
||||
*
|
||||
* Copyright 1998, 1999 Eric Kohl
|
||||
* Copyright 1998 Alex Priem
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTES
|
||||
* This is just a dummy control. An author is needed! Any volunteers?
|
||||
* I will only improve this control once in a while.
|
||||
* Eric <[email protected]>
|
||||
*
|
||||
* TODO:
|
||||
* - All messages.
|
||||
* - All notifications.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winerror.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "comctl32.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwDummy; /* just to keep the compiler happy ;-) */
|
||||
} FLATSB_INFO, *LPFLATSB_INFO;
|
||||
|
||||
#define FlatSB_GetInfoPtr(hwnd) ((FLATSB_INFO*)GetWindowLongA (hwnd, 0))
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* InitializeFlatSB (COMCTL32.@)
|
||||
*
|
||||
* returns nonzero if successful, zero otherwise
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI InitializeFlatSB(HWND hwnd)
|
||||
{
|
||||
TRACE("[%p]\n", hwnd);
|
||||
FIXME("stub\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* UninitializeFlatSB (COMCTL32.@)
|
||||
*
|
||||
* returns:
|
||||
* E_FAIL if one of the scroll bars is currently in use
|
||||
* S_FALSE if InitializeFlatSB was never called on this hwnd
|
||||
* S_OK otherwise
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI UninitializeFlatSB(HWND hwnd)
|
||||
{
|
||||
TRACE("[%p]\n", hwnd);
|
||||
FIXME("stub\n");
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollProp (COMCTL32.@)
|
||||
*
|
||||
* Returns nonzero if successful, or zero otherwise. If index is WSB_PROP_HSTYLE,
|
||||
* the return is nonzero if InitializeFlatSB has been called for this window, or
|
||||
* zero otherwise.
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_GetScrollProp(HWND hwnd, INT propIndex, LPINT prop)
|
||||
{
|
||||
TRACE("[%p] propIndex=%d\n", hwnd, propIndex);
|
||||
FIXME("stub\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollProp (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_SetScrollProp(HWND hwnd, UINT index, INT newValue, BOOL flag)
|
||||
{
|
||||
TRACE("[%p] index=%u newValue=%d flag=%d\n", hwnd, index, newValue, flag);
|
||||
FIXME("stub\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* From the Microsoft docs:
|
||||
* "If flat scroll bars haven't been initialized for the
|
||||
* window, the flat scroll bar APIs will defer to the corresponding
|
||||
* standard APIs. This allows the developer to turn flat scroll
|
||||
* bars on and off without having to write conditional code."
|
||||
*
|
||||
* So, if we just call the standard functions until we implement
|
||||
* the flat scroll bar functions, flat scroll bars will show up and
|
||||
* behave properly, as though they had simply not been setup to
|
||||
* have flat properties.
|
||||
*
|
||||
* Susan <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_EnableScrollBar (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_EnableScrollBar(HWND hwnd, int nBar, UINT flags)
|
||||
{
|
||||
return EnableScrollBar(hwnd, nBar, flags);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_ShowScrollBar (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_ShowScrollBar(HWND hwnd, int nBar, BOOL fShow)
|
||||
{
|
||||
return ShowScrollBar(hwnd, nBar, fShow);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollRange (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_GetScrollRange(HWND hwnd, int nBar, LPINT min, LPINT max)
|
||||
{
|
||||
return GetScrollRange(hwnd, nBar, min, max);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollInfo (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_GetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info)
|
||||
{
|
||||
return GetScrollInfo(hwnd, nBar, info);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollPos (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_GetScrollPos(HWND hwnd, int nBar)
|
||||
{
|
||||
return GetScrollPos(hwnd, nBar);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollPos (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_SetScrollPos(HWND hwnd, int nBar, INT pos, BOOL bRedraw)
|
||||
{
|
||||
return SetScrollPos(hwnd, nBar, pos, bRedraw);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollInfo (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_SetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info, BOOL bRedraw)
|
||||
{
|
||||
return SetScrollInfo(hwnd, nBar, info, bRedraw);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollRange (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_SetScrollRange(HWND hwnd, int nBar, INT min, INT max, BOOL bRedraw)
|
||||
{
|
||||
return SetScrollRange(hwnd, nBar, min, max, bRedraw);
|
||||
}
|
||||
|
||||
|
||||
static LRESULT
|
||||
FlatSB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
TRACE("[%p] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static LRESULT
|
||||
FlatSB_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
TRACE("[%p] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static LRESULT WINAPI
|
||||
FlatSB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (!FlatSB_GetInfoPtr(hwnd) && (uMsg != WM_CREATE))
|
||||
return DefWindowProcA( hwnd, uMsg, wParam, lParam );
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_CREATE:
|
||||
return FlatSB_Create (hwnd, wParam, lParam);
|
||||
|
||||
case WM_DESTROY:
|
||||
return FlatSB_Destroy (hwnd, wParam, lParam);
|
||||
|
||||
default:
|
||||
if ((uMsg >= WM_USER) && (uMsg < WM_APP))
|
||||
ERR("unknown msg %04x wp=%08x lp=%08lx\n",
|
||||
uMsg, wParam, lParam);
|
||||
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
FLATSB_Register (void)
|
||||
{
|
||||
WNDCLASSA wndClass;
|
||||
|
||||
ZeroMemory (&wndClass, sizeof(WNDCLASSA));
|
||||
wndClass.style = CS_GLOBALCLASS;
|
||||
wndClass.lpfnWndProc = (WNDPROC)FlatSB_WindowProc;
|
||||
wndClass.cbClsExtra = 0;
|
||||
wndClass.cbWndExtra = sizeof(FLATSB_INFO *);
|
||||
wndClass.hCursor = LoadCursorA (0, (LPSTR)IDC_ARROW);
|
||||
wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
|
||||
wndClass.lpszClassName = FLATSB_CLASSA;
|
||||
|
||||
RegisterClassA (&wndClass);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
FLATSB_Unregister (void)
|
||||
{
|
||||
UnregisterClassA (FLATSB_CLASSA, NULL);
|
||||
}
|
||||
/*
|
||||
* Flat Scrollbar control
|
||||
*
|
||||
* Copyright 1998, 1999 Eric Kohl
|
||||
* Copyright 1998 Alex Priem
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTES
|
||||
* This is just a dummy control. An author is needed! Any volunteers?
|
||||
* I will only improve this control once in a while.
|
||||
* Eric <[email protected]>
|
||||
*
|
||||
* TODO:
|
||||
* - All messages.
|
||||
* - All notifications.
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winerror.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "comctl32.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwDummy; /* just to keep the compiler happy ;-) */
|
||||
} FLATSB_INFO, *LPFLATSB_INFO;
|
||||
|
||||
#define FlatSB_GetInfoPtr(hwnd) ((FLATSB_INFO*)GetWindowLongA (hwnd, 0))
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* InitializeFlatSB (COMCTL32.@)
|
||||
*
|
||||
* returns nonzero if successful, zero otherwise
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI InitializeFlatSB(HWND hwnd)
|
||||
{
|
||||
TRACE("[%p]\n", hwnd);
|
||||
FIXME("stub\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* UninitializeFlatSB (COMCTL32.@)
|
||||
*
|
||||
* returns:
|
||||
* E_FAIL if one of the scroll bars is currently in use
|
||||
* S_FALSE if InitializeFlatSB was never called on this hwnd
|
||||
* S_OK otherwise
|
||||
*
|
||||
*/
|
||||
HRESULT WINAPI UninitializeFlatSB(HWND hwnd)
|
||||
{
|
||||
TRACE("[%p]\n", hwnd);
|
||||
FIXME("stub\n");
|
||||
return S_FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollProp (COMCTL32.@)
|
||||
*
|
||||
* Returns nonzero if successful, or zero otherwise. If index is WSB_PROP_HSTYLE,
|
||||
* the return is nonzero if InitializeFlatSB has been called for this window, or
|
||||
* zero otherwise.
|
||||
*
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_GetScrollProp(HWND hwnd, INT propIndex, LPINT prop)
|
||||
{
|
||||
TRACE("[%p] propIndex=%d\n", hwnd, propIndex);
|
||||
FIXME("stub\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollProp (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_SetScrollProp(HWND hwnd, UINT index, INT newValue, BOOL flag)
|
||||
{
|
||||
TRACE("[%p] index=%u newValue=%d flag=%d\n", hwnd, index, newValue, flag);
|
||||
FIXME("stub\n");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* From the Microsoft docs:
|
||||
* "If flat scroll bars haven't been initialized for the
|
||||
* window, the flat scroll bar APIs will defer to the corresponding
|
||||
* standard APIs. This allows the developer to turn flat scroll
|
||||
* bars on and off without having to write conditional code."
|
||||
*
|
||||
* So, if we just call the standard functions until we implement
|
||||
* the flat scroll bar functions, flat scroll bars will show up and
|
||||
* behave properly, as though they had simply not been setup to
|
||||
* have flat properties.
|
||||
*
|
||||
* Susan <[email protected]>
|
||||
*
|
||||
*/
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_EnableScrollBar (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_EnableScrollBar(HWND hwnd, int nBar, UINT flags)
|
||||
{
|
||||
return EnableScrollBar(hwnd, nBar, flags);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_ShowScrollBar (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_ShowScrollBar(HWND hwnd, int nBar, BOOL fShow)
|
||||
{
|
||||
return ShowScrollBar(hwnd, nBar, fShow);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollRange (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_GetScrollRange(HWND hwnd, int nBar, LPINT min, LPINT max)
|
||||
{
|
||||
return GetScrollRange(hwnd, nBar, min, max);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollInfo (COMCTL32.@)
|
||||
*/
|
||||
BOOL WINAPI
|
||||
FlatSB_GetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info)
|
||||
{
|
||||
return GetScrollInfo(hwnd, nBar, info);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_GetScrollPos (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_GetScrollPos(HWND hwnd, int nBar)
|
||||
{
|
||||
return GetScrollPos(hwnd, nBar);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollPos (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_SetScrollPos(HWND hwnd, int nBar, INT pos, BOOL bRedraw)
|
||||
{
|
||||
return SetScrollPos(hwnd, nBar, pos, bRedraw);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollInfo (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_SetScrollInfo(HWND hwnd, int nBar, LPSCROLLINFO info, BOOL bRedraw)
|
||||
{
|
||||
return SetScrollInfo(hwnd, nBar, info, bRedraw);
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* FlatSB_SetScrollRange (COMCTL32.@)
|
||||
*/
|
||||
INT WINAPI
|
||||
FlatSB_SetScrollRange(HWND hwnd, int nBar, INT min, INT max, BOOL bRedraw)
|
||||
{
|
||||
return SetScrollRange(hwnd, nBar, min, max, bRedraw);
|
||||
}
|
||||
|
||||
|
||||
static LRESULT
|
||||
FlatSB_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
TRACE("[%p] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static LRESULT
|
||||
FlatSB_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
TRACE("[%p] wParam=%04x lParam=%08lx\n", hwnd, wParam, lParam);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static LRESULT WINAPI
|
||||
FlatSB_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (!FlatSB_GetInfoPtr(hwnd) && (uMsg != WM_CREATE))
|
||||
return DefWindowProcA( hwnd, uMsg, wParam, lParam );
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_CREATE:
|
||||
return FlatSB_Create (hwnd, wParam, lParam);
|
||||
|
||||
case WM_DESTROY:
|
||||
return FlatSB_Destroy (hwnd, wParam, lParam);
|
||||
|
||||
default:
|
||||
if ((uMsg >= WM_USER) && (uMsg < WM_APP))
|
||||
ERR("unknown msg %04x wp=%08x lp=%08lx\n",
|
||||
uMsg, wParam, lParam);
|
||||
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
FLATSB_Register (void)
|
||||
{
|
||||
WNDCLASSA wndClass;
|
||||
|
||||
ZeroMemory (&wndClass, sizeof(WNDCLASSA));
|
||||
wndClass.style = CS_GLOBALCLASS;
|
||||
wndClass.lpfnWndProc = (WNDPROC)FlatSB_WindowProc;
|
||||
wndClass.cbClsExtra = 0;
|
||||
wndClass.cbWndExtra = sizeof(FLATSB_INFO *);
|
||||
wndClass.hCursor = LoadCursorA (0, (LPSTR)IDC_ARROW);
|
||||
wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
|
||||
wndClass.lpszClassName = FLATSB_CLASSA;
|
||||
|
||||
RegisterClassA (&wndClass);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
FLATSB_Unregister (void)
|
||||
{
|
||||
UnregisterClassA (FLATSB_CLASSA, NULL);
|
||||
}
|
||||
|
||||
+1813
-1813
File diff suppressed because it is too large
Load Diff
+506
-506
File diff suppressed because it is too large
Load Diff
+2783
-2783
File diff suppressed because it is too large
Load Diff
@@ -1,78 +1,78 @@
|
||||
/*
|
||||
* ImageList definitions
|
||||
*
|
||||
* Copyright 1998 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_IMAGELIST_H
|
||||
#define __WINE_IMAGELIST_H
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
|
||||
#include "pshpack1.h"
|
||||
|
||||
/* the ones with offsets at the end are the same as in Windows */
|
||||
struct _IMAGELIST
|
||||
{
|
||||
DWORD magic; /* 00: 'SAMX' */
|
||||
INT cCurImage; /* 04: ImageCount */
|
||||
INT cMaxImage; /* 08: maximages */
|
||||
INT cGrow; /* 0c: cGrow */
|
||||
INT cx; /* 10: cx */
|
||||
INT cy; /* 14: cy */
|
||||
DWORD x4;
|
||||
UINT flags; /* 1c: flags */
|
||||
COLORREF clrFg; /* 20: foreground color */
|
||||
COLORREF clrBk; /* 24: backgournd color */
|
||||
|
||||
|
||||
HBITMAP hbmImage; /* 30: images Bitmap */
|
||||
HBITMAP hbmMask; /* 34: masks Bitmap */
|
||||
HDC hdcImage; /* 38: images MemDC */
|
||||
HDC hdcMask; /* 3C: masks MemDC */
|
||||
INT nOvlIdx[15]; /* 40: overlay images index */
|
||||
|
||||
/* not yet found out */
|
||||
HBRUSH hbrBlend25;
|
||||
HBRUSH hbrBlend50;
|
||||
INT cInitial;
|
||||
UINT uBitsPixel;
|
||||
};
|
||||
|
||||
#define IMAGELIST_MAGIC 0x53414D58
|
||||
|
||||
/* Header used by ImageList_Read() and ImageList_Write() */
|
||||
typedef struct _ILHEAD
|
||||
{
|
||||
USHORT usMagic;
|
||||
USHORT usVersion;
|
||||
WORD cCurImage;
|
||||
WORD cMaxImage;
|
||||
WORD cGrow;
|
||||
WORD cx;
|
||||
WORD cy;
|
||||
COLORREF bkcolor;
|
||||
WORD flags;
|
||||
SHORT ovls[4];
|
||||
} ILHEAD;
|
||||
|
||||
#include "poppack.h"
|
||||
#endif /* __WINE_IMAGELIST_H */
|
||||
/*
|
||||
* ImageList definitions
|
||||
*
|
||||
* Copyright 1998 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*/
|
||||
|
||||
#ifndef __WINE_IMAGELIST_H
|
||||
#define __WINE_IMAGELIST_H
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
|
||||
#include "pshpack1.h"
|
||||
|
||||
/* the ones with offsets at the end are the same as in Windows */
|
||||
struct _IMAGELIST
|
||||
{
|
||||
DWORD magic; /* 00: 'SAMX' */
|
||||
INT cCurImage; /* 04: ImageCount */
|
||||
INT cMaxImage; /* 08: maximages */
|
||||
INT cGrow; /* 0c: cGrow */
|
||||
INT cx; /* 10: cx */
|
||||
INT cy; /* 14: cy */
|
||||
DWORD x4;
|
||||
UINT flags; /* 1c: flags */
|
||||
COLORREF clrFg; /* 20: foreground color */
|
||||
COLORREF clrBk; /* 24: backgournd color */
|
||||
|
||||
|
||||
HBITMAP hbmImage; /* 30: images Bitmap */
|
||||
HBITMAP hbmMask; /* 34: masks Bitmap */
|
||||
HDC hdcImage; /* 38: images MemDC */
|
||||
HDC hdcMask; /* 3C: masks MemDC */
|
||||
INT nOvlIdx[15]; /* 40: overlay images index */
|
||||
|
||||
/* not yet found out */
|
||||
HBRUSH hbrBlend25;
|
||||
HBRUSH hbrBlend50;
|
||||
INT cInitial;
|
||||
UINT uBitsPixel;
|
||||
};
|
||||
|
||||
#define IMAGELIST_MAGIC 0x53414D58
|
||||
|
||||
/* Header used by ImageList_Read() and ImageList_Write() */
|
||||
typedef struct _ILHEAD
|
||||
{
|
||||
USHORT usMagic;
|
||||
USHORT usVersion;
|
||||
WORD cCurImage;
|
||||
WORD cMaxImage;
|
||||
WORD cGrow;
|
||||
WORD cx;
|
||||
WORD cy;
|
||||
COLORREF bkcolor;
|
||||
WORD flags;
|
||||
SHORT ovls[4];
|
||||
} ILHEAD;
|
||||
|
||||
#include "poppack.h"
|
||||
#endif /* __WINE_IMAGELIST_H */
|
||||
|
||||
+579
-579
File diff suppressed because it is too large
Load Diff
+9245
-9245
File diff suppressed because it is too large
Load Diff
+2069
-2069
File diff suppressed because it is too large
Load Diff
+141
-141
@@ -1,141 +1,141 @@
|
||||
/*
|
||||
* Native Font control
|
||||
*
|
||||
* Copyright 1998, 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTES
|
||||
* This is just a dummy control. An author is needed! Any volunteers?
|
||||
* I will only improve this control once in a while.
|
||||
* Eric <[email protected]>
|
||||
*
|
||||
* TODO:
|
||||
* - All messages.
|
||||
* - All notifications.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "comctl32.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(nativefont);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwDummy; /* just to keep the compiler happy ;-) */
|
||||
} NATIVEFONT_INFO;
|
||||
|
||||
#define NATIVEFONT_GetInfoPtr(hwnd) ((NATIVEFONT_INFO *)GetWindowLongA (hwnd, 0))
|
||||
|
||||
|
||||
static LRESULT
|
||||
NATIVEFONT_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
NATIVEFONT_INFO *infoPtr;
|
||||
|
||||
/* allocate memory for info structure */
|
||||
infoPtr = (NATIVEFONT_INFO *)Alloc (sizeof(NATIVEFONT_INFO));
|
||||
SetWindowLongA (hwnd, 0, (DWORD)infoPtr);
|
||||
|
||||
|
||||
/* initialize info structure */
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static LRESULT
|
||||
NATIVEFONT_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
NATIVEFONT_INFO *infoPtr = NATIVEFONT_GetInfoPtr (hwnd);
|
||||
|
||||
|
||||
|
||||
|
||||
/* free comboex info data */
|
||||
Free (infoPtr);
|
||||
SetWindowLongA( hwnd, 0, 0 );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static LRESULT WINAPI
|
||||
NATIVEFONT_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (!NATIVEFONT_GetInfoPtr(hwnd) && (uMsg != WM_CREATE))
|
||||
return DefWindowProcA( hwnd, uMsg, wParam, lParam );
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
|
||||
case WM_CREATE:
|
||||
return NATIVEFONT_Create (hwnd, wParam, lParam);
|
||||
|
||||
case WM_DESTROY:
|
||||
return NATIVEFONT_Destroy (hwnd, wParam, lParam);
|
||||
|
||||
case WM_MOVE:
|
||||
case WM_SIZE:
|
||||
case WM_SHOWWINDOW:
|
||||
case WM_WINDOWPOSCHANGING:
|
||||
case WM_WINDOWPOSCHANGED:
|
||||
case WM_SETFONT:
|
||||
case WM_GETDLGCODE:
|
||||
/* FIXME("message %04x seen but stubbed\n", uMsg); */
|
||||
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
||||
|
||||
default:
|
||||
ERR("unknown msg %04x wp=%08x lp=%08lx\n",
|
||||
uMsg, wParam, lParam);
|
||||
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NATIVEFONT_Register (void)
|
||||
{
|
||||
WNDCLASSA wndClass;
|
||||
|
||||
ZeroMemory (&wndClass, sizeof(WNDCLASSA));
|
||||
wndClass.style = CS_GLOBALCLASS;
|
||||
wndClass.lpfnWndProc = (WNDPROC)NATIVEFONT_WindowProc;
|
||||
wndClass.cbClsExtra = 0;
|
||||
wndClass.cbWndExtra = sizeof(NATIVEFONT_INFO *);
|
||||
wndClass.hCursor = LoadCursorA (0, (LPSTR)IDC_ARROW);
|
||||
wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
|
||||
wndClass.lpszClassName = WC_NATIVEFONTCTLA;
|
||||
|
||||
RegisterClassA (&wndClass);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NATIVEFONT_Unregister (void)
|
||||
{
|
||||
UnregisterClassA (WC_NATIVEFONTCTLA, NULL);
|
||||
}
|
||||
/*
|
||||
* Native Font control
|
||||
*
|
||||
* Copyright 1998, 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTES
|
||||
* This is just a dummy control. An author is needed! Any volunteers?
|
||||
* I will only improve this control once in a while.
|
||||
* Eric <[email protected]>
|
||||
*
|
||||
* TODO:
|
||||
* - All messages.
|
||||
* - All notifications.
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "comctl32.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(nativefont);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
DWORD dwDummy; /* just to keep the compiler happy ;-) */
|
||||
} NATIVEFONT_INFO;
|
||||
|
||||
#define NATIVEFONT_GetInfoPtr(hwnd) ((NATIVEFONT_INFO *)GetWindowLongA (hwnd, 0))
|
||||
|
||||
|
||||
static LRESULT
|
||||
NATIVEFONT_Create (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
NATIVEFONT_INFO *infoPtr;
|
||||
|
||||
/* allocate memory for info structure */
|
||||
infoPtr = (NATIVEFONT_INFO *)Alloc (sizeof(NATIVEFONT_INFO));
|
||||
SetWindowLongA (hwnd, 0, (DWORD)infoPtr);
|
||||
|
||||
|
||||
/* initialize info structure */
|
||||
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
static LRESULT
|
||||
NATIVEFONT_Destroy (HWND hwnd, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
NATIVEFONT_INFO *infoPtr = NATIVEFONT_GetInfoPtr (hwnd);
|
||||
|
||||
|
||||
|
||||
|
||||
/* free comboex info data */
|
||||
Free (infoPtr);
|
||||
SetWindowLongA( hwnd, 0, 0 );
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
|
||||
static LRESULT WINAPI
|
||||
NATIVEFONT_WindowProc (HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
if (!NATIVEFONT_GetInfoPtr(hwnd) && (uMsg != WM_CREATE))
|
||||
return DefWindowProcA( hwnd, uMsg, wParam, lParam );
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
|
||||
case WM_CREATE:
|
||||
return NATIVEFONT_Create (hwnd, wParam, lParam);
|
||||
|
||||
case WM_DESTROY:
|
||||
return NATIVEFONT_Destroy (hwnd, wParam, lParam);
|
||||
|
||||
case WM_MOVE:
|
||||
case WM_SIZE:
|
||||
case WM_SHOWWINDOW:
|
||||
case WM_WINDOWPOSCHANGING:
|
||||
case WM_WINDOWPOSCHANGED:
|
||||
case WM_SETFONT:
|
||||
case WM_GETDLGCODE:
|
||||
/* FIXME("message %04x seen but stubbed\n", uMsg); */
|
||||
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
||||
|
||||
default:
|
||||
ERR("unknown msg %04x wp=%08x lp=%08lx\n",
|
||||
uMsg, wParam, lParam);
|
||||
return DefWindowProcA (hwnd, uMsg, wParam, lParam);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NATIVEFONT_Register (void)
|
||||
{
|
||||
WNDCLASSA wndClass;
|
||||
|
||||
ZeroMemory (&wndClass, sizeof(WNDCLASSA));
|
||||
wndClass.style = CS_GLOBALCLASS;
|
||||
wndClass.lpfnWndProc = (WNDPROC)NATIVEFONT_WindowProc;
|
||||
wndClass.cbClsExtra = 0;
|
||||
wndClass.cbWndExtra = sizeof(NATIVEFONT_INFO *);
|
||||
wndClass.hCursor = LoadCursorA (0, (LPSTR)IDC_ARROW);
|
||||
wndClass.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
|
||||
wndClass.lpszClassName = WC_NATIVEFONTCTLA;
|
||||
|
||||
RegisterClassA (&wndClass);
|
||||
}
|
||||
|
||||
|
||||
VOID
|
||||
NATIVEFONT_Unregister (void)
|
||||
{
|
||||
UnregisterClassA (WC_NATIVEFONTCTLA, NULL);
|
||||
}
|
||||
|
||||
+1610
-1610
File diff suppressed because it is too large
Load Diff
+441
-441
@@ -1,441 +1,441 @@
|
||||
/*
|
||||
* Progress control
|
||||
*
|
||||
* Copyright 1997, 2002 Dimitrie O. Paun
|
||||
* Copyright 1998, 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTE
|
||||
*
|
||||
* This code was audited for completeness against the documented features
|
||||
* of Comctl32.dll version 6.0 on Sep. 9, 2002, by Dimitrie O. Paun.
|
||||
*
|
||||
* Unless otherwise noted, we belive this code to be complete, as per
|
||||
* the specification mentioned above.
|
||||
* If you discover missing features, or bugs, please note them below.
|
||||
*
|
||||
* TODO
|
||||
* --support PBS_MARQUE
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "comctl32.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(progress);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
HWND Self; /* The window handle for this control */
|
||||
INT CurVal; /* Current progress value */
|
||||
INT MinVal; /* Minimum progress value */
|
||||
INT MaxVal; /* Maximum progress value */
|
||||
INT Step; /* Step to use on PMB_STEPIT */
|
||||
COLORREF ColorBar; /* Bar color */
|
||||
COLORREF ColorBk; /* Background color */
|
||||
HFONT Font; /* Handle to font (not unused) */
|
||||
} PROGRESS_INFO;
|
||||
|
||||
/* Control configuration constants */
|
||||
|
||||
#define LED_GAP 2
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Invalidate
|
||||
*
|
||||
* Invalide the range between old and new pos.
|
||||
*/
|
||||
static void PROGRESS_Invalidate( PROGRESS_INFO *infoPtr, INT old, INT new )
|
||||
{
|
||||
LONG style = GetWindowLongW (infoPtr->Self, GWL_STYLE);
|
||||
RECT rect;
|
||||
int oldPos, newPos, ledWidth;
|
||||
|
||||
GetClientRect (infoPtr->Self, &rect);
|
||||
InflateRect(&rect, -1, -1);
|
||||
|
||||
if (style & PBS_VERTICAL)
|
||||
{
|
||||
oldPos = rect.bottom - MulDiv (old - infoPtr->MinVal, rect.bottom - rect.top,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
newPos = rect.bottom - MulDiv (new - infoPtr->MinVal, rect.bottom - rect.top,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.right - rect.left, 2, 3);
|
||||
rect.top = min( oldPos, newPos );
|
||||
rect.bottom = max( oldPos, newPos );
|
||||
if (!(style & PBS_SMOOTH)) rect.top -= ledWidth;
|
||||
InvalidateRect( infoPtr->Self, &rect, oldPos < newPos );
|
||||
}
|
||||
else
|
||||
{
|
||||
oldPos = rect.left + MulDiv (old - infoPtr->MinVal, rect.right - rect.left,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
newPos = rect.left + MulDiv (new - infoPtr->MinVal, rect.right - rect.left,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.bottom - rect.top, 2, 3);
|
||||
rect.left = min( oldPos, newPos );
|
||||
rect.right = max( oldPos, newPos );
|
||||
if (!(style & PBS_SMOOTH)) rect.right += ledWidth;
|
||||
InvalidateRect( infoPtr->Self, &rect, oldPos > newPos );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Draw
|
||||
* Draws the progress bar.
|
||||
*/
|
||||
static LRESULT PROGRESS_Draw (PROGRESS_INFO *infoPtr, HDC hdc)
|
||||
{
|
||||
HBRUSH hbrBar, hbrBk;
|
||||
int rightBar, rightMost, ledWidth;
|
||||
RECT rect;
|
||||
DWORD dwStyle;
|
||||
|
||||
TRACE("(infoPtr=%p, hdc=%p)\n", infoPtr, hdc);
|
||||
|
||||
/* get the required bar brush */
|
||||
if (infoPtr->ColorBar == CLR_DEFAULT)
|
||||
hbrBar = GetSysColorBrush(COLOR_HIGHLIGHT);
|
||||
else
|
||||
hbrBar = CreateSolidBrush (infoPtr->ColorBar);
|
||||
|
||||
if (infoPtr->ColorBk == CLR_DEFAULT)
|
||||
hbrBk = GetSysColorBrush(COLOR_3DFACE);
|
||||
else
|
||||
hbrBk = CreateSolidBrush(infoPtr->ColorBk);
|
||||
|
||||
/* get client rectangle */
|
||||
GetClientRect (infoPtr->Self, &rect);
|
||||
FrameRect( hdc, &rect, hbrBk );
|
||||
InflateRect(&rect, -1, -1);
|
||||
|
||||
/* get the window style */
|
||||
dwStyle = GetWindowLongW (infoPtr->Self, GWL_STYLE);
|
||||
|
||||
/* compute extent of progress bar */
|
||||
if (dwStyle & PBS_VERTICAL) {
|
||||
rightBar = rect.bottom -
|
||||
MulDiv (infoPtr->CurVal - infoPtr->MinVal,
|
||||
rect.bottom - rect.top,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.right - rect.left, 2, 3);
|
||||
rightMost = rect.top;
|
||||
} else {
|
||||
rightBar = rect.left +
|
||||
MulDiv (infoPtr->CurVal - infoPtr->MinVal,
|
||||
rect.right - rect.left,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.bottom - rect.top, 2, 3);
|
||||
rightMost = rect.right;
|
||||
}
|
||||
|
||||
/* now draw the bar */
|
||||
if (dwStyle & PBS_SMOOTH)
|
||||
{
|
||||
if (dwStyle & PBS_VERTICAL)
|
||||
{
|
||||
INT old_top = rect.top;
|
||||
rect.top = rightBar;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.bottom = rect.top;
|
||||
rect.top = old_top;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
}
|
||||
else
|
||||
{
|
||||
INT old_right = rect.right;
|
||||
rect.right = rightBar;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.left = rect.right;
|
||||
rect.right = old_right;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
}
|
||||
} else {
|
||||
if (dwStyle & PBS_VERTICAL) {
|
||||
while(rect.bottom > rightBar) {
|
||||
rect.top = rect.bottom - ledWidth;
|
||||
if (rect.top < rightMost)
|
||||
rect.top = rightMost;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.bottom = rect.top;
|
||||
rect.top -= LED_GAP;
|
||||
if (rect.top <= rightBar) break;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
rect.bottom = rect.top;
|
||||
}
|
||||
rect.top = rightMost;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
} else {
|
||||
while(rect.left < rightBar) {
|
||||
rect.right = rect.left + ledWidth;
|
||||
if (rect.right > rightMost)
|
||||
rect.right = rightMost;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.left = rect.right;
|
||||
rect.right += LED_GAP;
|
||||
if (rect.right >= rightBar) break;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
rect.left = rect.right;
|
||||
}
|
||||
rect.right = rightMost;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
}
|
||||
}
|
||||
|
||||
/* delete bar brush */
|
||||
if (infoPtr->ColorBar != CLR_DEFAULT) DeleteObject (hbrBar);
|
||||
if (infoPtr->ColorBk != CLR_DEFAULT) DeleteObject (hbrBk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Paint
|
||||
* Draw the progress bar. The background need not be erased.
|
||||
* If dc!=0, it draws on it
|
||||
*/
|
||||
static LRESULT PROGRESS_Paint (PROGRESS_INFO *infoPtr, HDC hdc)
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
if (hdc) return PROGRESS_Draw (infoPtr, hdc);
|
||||
hdc = BeginPaint (infoPtr->Self, &ps);
|
||||
PROGRESS_Draw (infoPtr, hdc);
|
||||
EndPaint (infoPtr->Self, &ps);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_CoercePos
|
||||
* Makes sure the current position (CurVal) is within bounds.
|
||||
*/
|
||||
static void PROGRESS_CoercePos(PROGRESS_INFO *infoPtr)
|
||||
{
|
||||
if(infoPtr->CurVal < infoPtr->MinVal)
|
||||
infoPtr->CurVal = infoPtr->MinVal;
|
||||
if(infoPtr->CurVal > infoPtr->MaxVal)
|
||||
infoPtr->CurVal = infoPtr->MaxVal;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_SetFont
|
||||
* Set new Font for progress bar
|
||||
*/
|
||||
static HFONT PROGRESS_SetFont (PROGRESS_INFO *infoPtr, HFONT hFont, BOOL bRedraw)
|
||||
{
|
||||
HFONT hOldFont = infoPtr->Font;
|
||||
infoPtr->Font = hFont;
|
||||
/* Since infoPtr->Font is not used, there is no need for repaint */
|
||||
return hOldFont;
|
||||
}
|
||||
|
||||
static DWORD PROGRESS_SetRange (PROGRESS_INFO *infoPtr, int low, int high)
|
||||
{
|
||||
DWORD res = MAKELONG(LOWORD(infoPtr->MinVal), LOWORD(infoPtr->MaxVal));
|
||||
|
||||
/* if nothing changes, simply return */
|
||||
if(infoPtr->MinVal == low && infoPtr->MaxVal == high) return res;
|
||||
|
||||
infoPtr->MinVal = low;
|
||||
infoPtr->MaxVal = high;
|
||||
PROGRESS_CoercePos(infoPtr);
|
||||
InvalidateRect(infoPtr->Self, NULL, TRUE);
|
||||
return res;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* ProgressWindowProc
|
||||
*/
|
||||
static LRESULT WINAPI ProgressWindowProc(HWND hwnd, UINT message,
|
||||
WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
PROGRESS_INFO *infoPtr;
|
||||
|
||||
TRACE("hwnd=%p msg=%04x wparam=%x lParam=%lx\n", hwnd, message, wParam, lParam);
|
||||
|
||||
infoPtr = (PROGRESS_INFO *)GetWindowLongW(hwnd, 0);
|
||||
|
||||
if (!infoPtr && message != WM_CREATE)
|
||||
return DefWindowProcW( hwnd, message, wParam, lParam );
|
||||
|
||||
switch(message) {
|
||||
case WM_CREATE:
|
||||
{
|
||||
DWORD dwExStyle = GetWindowLongW (hwnd, GWL_EXSTYLE);
|
||||
dwExStyle &= ~(WS_EX_CLIENTEDGE | WS_EX_WINDOWEDGE);
|
||||
dwExStyle |= WS_EX_STATICEDGE;
|
||||
SetWindowLongW (hwnd, GWL_EXSTYLE, dwExStyle);
|
||||
/* Force recalculation of a non-client area */
|
||||
SetWindowPos(hwnd, 0, 0, 0, 0, 0,
|
||||
SWP_FRAMECHANGED | SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
|
||||
/* allocate memory for info struct */
|
||||
infoPtr = (PROGRESS_INFO *)Alloc (sizeof(PROGRESS_INFO));
|
||||
if (!infoPtr) return -1;
|
||||
SetWindowLongW (hwnd, 0, (DWORD)infoPtr);
|
||||
|
||||
/* initialize the info struct */
|
||||
infoPtr->Self = hwnd;
|
||||
infoPtr->MinVal = 0;
|
||||
infoPtr->MaxVal = 100;
|
||||
infoPtr->CurVal = 0;
|
||||
infoPtr->Step = 10;
|
||||
infoPtr->ColorBar = CLR_DEFAULT;
|
||||
infoPtr->ColorBk = CLR_DEFAULT;
|
||||
infoPtr->Font = 0;
|
||||
TRACE("Progress Ctrl creation, hwnd=%p\n", hwnd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
case WM_DESTROY:
|
||||
TRACE("Progress Ctrl destruction, hwnd=%p\n", hwnd);
|
||||
Free (infoPtr);
|
||||
SetWindowLongW(hwnd, 0, 0);
|
||||
return 0;
|
||||
|
||||
case WM_GETFONT:
|
||||
return (LRESULT)infoPtr->Font;
|
||||
|
||||
case WM_SETFONT:
|
||||
return (LRESULT)PROGRESS_SetFont(infoPtr, (HFONT)wParam, (BOOL)lParam);
|
||||
|
||||
case WM_PAINT:
|
||||
return PROGRESS_Paint (infoPtr, (HDC)wParam);
|
||||
|
||||
case PBM_DELTAPOS:
|
||||
{
|
||||
INT oldVal;
|
||||
oldVal = infoPtr->CurVal;
|
||||
if(wParam != 0) {
|
||||
infoPtr->CurVal += (INT)wParam;
|
||||
PROGRESS_CoercePos (infoPtr);
|
||||
TRACE("PBM_DELTAPOS: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
|
||||
PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
|
||||
}
|
||||
return oldVal;
|
||||
}
|
||||
|
||||
case PBM_SETPOS:
|
||||
{
|
||||
UINT oldVal;
|
||||
oldVal = infoPtr->CurVal;
|
||||
if(oldVal != wParam) {
|
||||
infoPtr->CurVal = (INT)wParam;
|
||||
PROGRESS_CoercePos(infoPtr);
|
||||
TRACE("PBM_SETPOS: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
|
||||
PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
|
||||
}
|
||||
return oldVal;
|
||||
}
|
||||
|
||||
case PBM_SETRANGE:
|
||||
return PROGRESS_SetRange (infoPtr, (int)LOWORD(lParam), (int)HIWORD(lParam));
|
||||
|
||||
case PBM_SETSTEP:
|
||||
{
|
||||
INT oldStep;
|
||||
oldStep = infoPtr->Step;
|
||||
infoPtr->Step = (INT)wParam;
|
||||
return oldStep;
|
||||
}
|
||||
|
||||
case PBM_STEPIT:
|
||||
{
|
||||
INT oldVal;
|
||||
oldVal = infoPtr->CurVal;
|
||||
infoPtr->CurVal += infoPtr->Step;
|
||||
if(infoPtr->CurVal > infoPtr->MaxVal)
|
||||
infoPtr->CurVal = infoPtr->MinVal;
|
||||
if(oldVal != infoPtr->CurVal)
|
||||
{
|
||||
TRACE("PBM_STEPIT: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
|
||||
PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
|
||||
}
|
||||
return oldVal;
|
||||
}
|
||||
|
||||
case PBM_SETRANGE32:
|
||||
return PROGRESS_SetRange (infoPtr, (int)wParam, (int)lParam);
|
||||
|
||||
case PBM_GETRANGE:
|
||||
if (lParam) {
|
||||
((PPBRANGE)lParam)->iLow = infoPtr->MinVal;
|
||||
((PPBRANGE)lParam)->iHigh = infoPtr->MaxVal;
|
||||
}
|
||||
return wParam ? infoPtr->MinVal : infoPtr->MaxVal;
|
||||
|
||||
case PBM_GETPOS:
|
||||
return infoPtr->CurVal;
|
||||
|
||||
case PBM_SETBARCOLOR:
|
||||
infoPtr->ColorBar = (COLORREF)lParam;
|
||||
InvalidateRect(hwnd, NULL, TRUE);
|
||||
return 0;
|
||||
|
||||
case PBM_SETBKCOLOR:
|
||||
infoPtr->ColorBk = (COLORREF)lParam;
|
||||
InvalidateRect(hwnd, NULL, TRUE);
|
||||
return 0;
|
||||
|
||||
default:
|
||||
if ((message >= WM_USER) && (message < WM_APP))
|
||||
ERR("unknown msg %04x wp=%04x lp=%08lx\n", message, wParam, lParam );
|
||||
return DefWindowProcW( hwnd, message, wParam, lParam );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Register [Internal]
|
||||
*
|
||||
* Registers the progress bar window class.
|
||||
*/
|
||||
VOID PROGRESS_Register (void)
|
||||
{
|
||||
WNDCLASSW wndClass;
|
||||
|
||||
ZeroMemory (&wndClass, sizeof(wndClass));
|
||||
wndClass.style = CS_GLOBALCLASS | CS_VREDRAW | CS_HREDRAW;
|
||||
wndClass.lpfnWndProc = (WNDPROC)ProgressWindowProc;
|
||||
wndClass.cbClsExtra = 0;
|
||||
wndClass.cbWndExtra = sizeof (PROGRESS_INFO *);
|
||||
wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
|
||||
wndClass.lpszClassName = PROGRESS_CLASSW;
|
||||
|
||||
RegisterClassW (&wndClass);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Unregister [Internal]
|
||||
*
|
||||
* Unregisters the progress bar window class.
|
||||
*/
|
||||
VOID PROGRESS_Unregister (void)
|
||||
{
|
||||
UnregisterClassW (PROGRESS_CLASSW, NULL);
|
||||
}
|
||||
/*
|
||||
* Progress control
|
||||
*
|
||||
* Copyright 1997, 2002 Dimitrie O. Paun
|
||||
* Copyright 1998, 1999 Eric Kohl
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* NOTE
|
||||
*
|
||||
* This code was audited for completeness against the documented features
|
||||
* of Comctl32.dll version 6.0 on Sep. 9, 2002, by Dimitrie O. Paun.
|
||||
*
|
||||
* Unless otherwise noted, we belive this code to be complete, as per
|
||||
* the specification mentioned above.
|
||||
* If you discover missing features, or bugs, please note them below.
|
||||
*
|
||||
* TODO
|
||||
* --support PBS_MARQUE
|
||||
*
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
#include <string.h>
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "comctl32.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(progress);
|
||||
|
||||
typedef struct
|
||||
{
|
||||
HWND Self; /* The window handle for this control */
|
||||
INT CurVal; /* Current progress value */
|
||||
INT MinVal; /* Minimum progress value */
|
||||
INT MaxVal; /* Maximum progress value */
|
||||
INT Step; /* Step to use on PMB_STEPIT */
|
||||
COLORREF ColorBar; /* Bar color */
|
||||
COLORREF ColorBk; /* Background color */
|
||||
HFONT Font; /* Handle to font (not unused) */
|
||||
} PROGRESS_INFO;
|
||||
|
||||
/* Control configuration constants */
|
||||
|
||||
#define LED_GAP 2
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Invalidate
|
||||
*
|
||||
* Invalide the range between old and new pos.
|
||||
*/
|
||||
static void PROGRESS_Invalidate( PROGRESS_INFO *infoPtr, INT old, INT new )
|
||||
{
|
||||
LONG style = GetWindowLongW (infoPtr->Self, GWL_STYLE);
|
||||
RECT rect;
|
||||
int oldPos, newPos, ledWidth;
|
||||
|
||||
GetClientRect (infoPtr->Self, &rect);
|
||||
InflateRect(&rect, -1, -1);
|
||||
|
||||
if (style & PBS_VERTICAL)
|
||||
{
|
||||
oldPos = rect.bottom - MulDiv (old - infoPtr->MinVal, rect.bottom - rect.top,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
newPos = rect.bottom - MulDiv (new - infoPtr->MinVal, rect.bottom - rect.top,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.right - rect.left, 2, 3);
|
||||
rect.top = min( oldPos, newPos );
|
||||
rect.bottom = max( oldPos, newPos );
|
||||
if (!(style & PBS_SMOOTH)) rect.top -= ledWidth;
|
||||
InvalidateRect( infoPtr->Self, &rect, oldPos < newPos );
|
||||
}
|
||||
else
|
||||
{
|
||||
oldPos = rect.left + MulDiv (old - infoPtr->MinVal, rect.right - rect.left,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
newPos = rect.left + MulDiv (new - infoPtr->MinVal, rect.right - rect.left,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.bottom - rect.top, 2, 3);
|
||||
rect.left = min( oldPos, newPos );
|
||||
rect.right = max( oldPos, newPos );
|
||||
if (!(style & PBS_SMOOTH)) rect.right += ledWidth;
|
||||
InvalidateRect( infoPtr->Self, &rect, oldPos > newPos );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Draw
|
||||
* Draws the progress bar.
|
||||
*/
|
||||
static LRESULT PROGRESS_Draw (PROGRESS_INFO *infoPtr, HDC hdc)
|
||||
{
|
||||
HBRUSH hbrBar, hbrBk;
|
||||
int rightBar, rightMost, ledWidth;
|
||||
RECT rect;
|
||||
DWORD dwStyle;
|
||||
|
||||
TRACE("(infoPtr=%p, hdc=%p)\n", infoPtr, hdc);
|
||||
|
||||
/* get the required bar brush */
|
||||
if (infoPtr->ColorBar == CLR_DEFAULT)
|
||||
hbrBar = GetSysColorBrush(COLOR_HIGHLIGHT);
|
||||
else
|
||||
hbrBar = CreateSolidBrush (infoPtr->ColorBar);
|
||||
|
||||
if (infoPtr->ColorBk == CLR_DEFAULT)
|
||||
hbrBk = GetSysColorBrush(COLOR_3DFACE);
|
||||
else
|
||||
hbrBk = CreateSolidBrush(infoPtr->ColorBk);
|
||||
|
||||
/* get client rectangle */
|
||||
GetClientRect (infoPtr->Self, &rect);
|
||||
FrameRect( hdc, &rect, hbrBk );
|
||||
InflateRect(&rect, -1, -1);
|
||||
|
||||
/* get the window style */
|
||||
dwStyle = GetWindowLongW (infoPtr->Self, GWL_STYLE);
|
||||
|
||||
/* compute extent of progress bar */
|
||||
if (dwStyle & PBS_VERTICAL) {
|
||||
rightBar = rect.bottom -
|
||||
MulDiv (infoPtr->CurVal - infoPtr->MinVal,
|
||||
rect.bottom - rect.top,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.right - rect.left, 2, 3);
|
||||
rightMost = rect.top;
|
||||
} else {
|
||||
rightBar = rect.left +
|
||||
MulDiv (infoPtr->CurVal - infoPtr->MinVal,
|
||||
rect.right - rect.left,
|
||||
infoPtr->MaxVal - infoPtr->MinVal);
|
||||
ledWidth = MulDiv (rect.bottom - rect.top, 2, 3);
|
||||
rightMost = rect.right;
|
||||
}
|
||||
|
||||
/* now draw the bar */
|
||||
if (dwStyle & PBS_SMOOTH)
|
||||
{
|
||||
if (dwStyle & PBS_VERTICAL)
|
||||
{
|
||||
INT old_top = rect.top;
|
||||
rect.top = rightBar;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.bottom = rect.top;
|
||||
rect.top = old_top;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
}
|
||||
else
|
||||
{
|
||||
INT old_right = rect.right;
|
||||
rect.right = rightBar;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.left = rect.right;
|
||||
rect.right = old_right;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
}
|
||||
} else {
|
||||
if (dwStyle & PBS_VERTICAL) {
|
||||
while(rect.bottom > rightBar) {
|
||||
rect.top = rect.bottom - ledWidth;
|
||||
if (rect.top < rightMost)
|
||||
rect.top = rightMost;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.bottom = rect.top;
|
||||
rect.top -= LED_GAP;
|
||||
if (rect.top <= rightBar) break;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
rect.bottom = rect.top;
|
||||
}
|
||||
rect.top = rightMost;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
} else {
|
||||
while(rect.left < rightBar) {
|
||||
rect.right = rect.left + ledWidth;
|
||||
if (rect.right > rightMost)
|
||||
rect.right = rightMost;
|
||||
FillRect(hdc, &rect, hbrBar);
|
||||
rect.left = rect.right;
|
||||
rect.right += LED_GAP;
|
||||
if (rect.right >= rightBar) break;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
rect.left = rect.right;
|
||||
}
|
||||
rect.right = rightMost;
|
||||
FillRect(hdc, &rect, hbrBk);
|
||||
}
|
||||
}
|
||||
|
||||
/* delete bar brush */
|
||||
if (infoPtr->ColorBar != CLR_DEFAULT) DeleteObject (hbrBar);
|
||||
if (infoPtr->ColorBk != CLR_DEFAULT) DeleteObject (hbrBk);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Paint
|
||||
* Draw the progress bar. The background need not be erased.
|
||||
* If dc!=0, it draws on it
|
||||
*/
|
||||
static LRESULT PROGRESS_Paint (PROGRESS_INFO *infoPtr, HDC hdc)
|
||||
{
|
||||
PAINTSTRUCT ps;
|
||||
if (hdc) return PROGRESS_Draw (infoPtr, hdc);
|
||||
hdc = BeginPaint (infoPtr->Self, &ps);
|
||||
PROGRESS_Draw (infoPtr, hdc);
|
||||
EndPaint (infoPtr->Self, &ps);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_CoercePos
|
||||
* Makes sure the current position (CurVal) is within bounds.
|
||||
*/
|
||||
static void PROGRESS_CoercePos(PROGRESS_INFO *infoPtr)
|
||||
{
|
||||
if(infoPtr->CurVal < infoPtr->MinVal)
|
||||
infoPtr->CurVal = infoPtr->MinVal;
|
||||
if(infoPtr->CurVal > infoPtr->MaxVal)
|
||||
infoPtr->CurVal = infoPtr->MaxVal;
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_SetFont
|
||||
* Set new Font for progress bar
|
||||
*/
|
||||
static HFONT PROGRESS_SetFont (PROGRESS_INFO *infoPtr, HFONT hFont, BOOL bRedraw)
|
||||
{
|
||||
HFONT hOldFont = infoPtr->Font;
|
||||
infoPtr->Font = hFont;
|
||||
/* Since infoPtr->Font is not used, there is no need for repaint */
|
||||
return hOldFont;
|
||||
}
|
||||
|
||||
static DWORD PROGRESS_SetRange (PROGRESS_INFO *infoPtr, int low, int high)
|
||||
{
|
||||
DWORD res = MAKELONG(LOWORD(infoPtr->MinVal), LOWORD(infoPtr->MaxVal));
|
||||
|
||||
/* if nothing changes, simply return */
|
||||
if(infoPtr->MinVal == low && infoPtr->MaxVal == high) return res;
|
||||
|
||||
infoPtr->MinVal = low;
|
||||
infoPtr->MaxVal = high;
|
||||
PROGRESS_CoercePos(infoPtr);
|
||||
InvalidateRect(infoPtr->Self, NULL, TRUE);
|
||||
return res;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* ProgressWindowProc
|
||||
*/
|
||||
static LRESULT WINAPI ProgressWindowProc(HWND hwnd, UINT message,
|
||||
WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
PROGRESS_INFO *infoPtr;
|
||||
|
||||
TRACE("hwnd=%p msg=%04x wparam=%x lParam=%lx\n", hwnd, message, wParam, lParam);
|
||||
|
||||
infoPtr = (PROGRESS_INFO *)GetWindowLongW(hwnd, 0);
|
||||
|
||||
if (!infoPtr && message != WM_CREATE)
|
||||
return DefWindowProcW( hwnd, message, wParam, lParam );
|
||||
|
||||
switch(message) {
|
||||
case WM_CREATE:
|
||||
{
|
||||
DWORD dwExStyle = GetWindowLongW (hwnd, GWL_EXSTYLE);
|
||||
dwExStyle &= ~(WS_EX_CLIENTEDGE | WS_EX_WINDOWEDGE);
|
||||
dwExStyle |= WS_EX_STATICEDGE;
|
||||
SetWindowLongW (hwnd, GWL_EXSTYLE, dwExStyle);
|
||||
/* Force recalculation of a non-client area */
|
||||
SetWindowPos(hwnd, 0, 0, 0, 0, 0,
|
||||
SWP_FRAMECHANGED | SWP_NOSIZE | SWP_NOMOVE | SWP_NOZORDER | SWP_NOACTIVATE);
|
||||
|
||||
/* allocate memory for info struct */
|
||||
infoPtr = (PROGRESS_INFO *)Alloc (sizeof(PROGRESS_INFO));
|
||||
if (!infoPtr) return -1;
|
||||
SetWindowLongW (hwnd, 0, (DWORD)infoPtr);
|
||||
|
||||
/* initialize the info struct */
|
||||
infoPtr->Self = hwnd;
|
||||
infoPtr->MinVal = 0;
|
||||
infoPtr->MaxVal = 100;
|
||||
infoPtr->CurVal = 0;
|
||||
infoPtr->Step = 10;
|
||||
infoPtr->ColorBar = CLR_DEFAULT;
|
||||
infoPtr->ColorBk = CLR_DEFAULT;
|
||||
infoPtr->Font = 0;
|
||||
TRACE("Progress Ctrl creation, hwnd=%p\n", hwnd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
case WM_DESTROY:
|
||||
TRACE("Progress Ctrl destruction, hwnd=%p\n", hwnd);
|
||||
Free (infoPtr);
|
||||
SetWindowLongW(hwnd, 0, 0);
|
||||
return 0;
|
||||
|
||||
case WM_GETFONT:
|
||||
return (LRESULT)infoPtr->Font;
|
||||
|
||||
case WM_SETFONT:
|
||||
return (LRESULT)PROGRESS_SetFont(infoPtr, (HFONT)wParam, (BOOL)lParam);
|
||||
|
||||
case WM_PAINT:
|
||||
return PROGRESS_Paint (infoPtr, (HDC)wParam);
|
||||
|
||||
case PBM_DELTAPOS:
|
||||
{
|
||||
INT oldVal;
|
||||
oldVal = infoPtr->CurVal;
|
||||
if(wParam != 0) {
|
||||
infoPtr->CurVal += (INT)wParam;
|
||||
PROGRESS_CoercePos (infoPtr);
|
||||
TRACE("PBM_DELTAPOS: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
|
||||
PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
|
||||
}
|
||||
return oldVal;
|
||||
}
|
||||
|
||||
case PBM_SETPOS:
|
||||
{
|
||||
UINT oldVal;
|
||||
oldVal = infoPtr->CurVal;
|
||||
if(oldVal != wParam) {
|
||||
infoPtr->CurVal = (INT)wParam;
|
||||
PROGRESS_CoercePos(infoPtr);
|
||||
TRACE("PBM_SETPOS: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
|
||||
PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
|
||||
}
|
||||
return oldVal;
|
||||
}
|
||||
|
||||
case PBM_SETRANGE:
|
||||
return PROGRESS_SetRange (infoPtr, (int)LOWORD(lParam), (int)HIWORD(lParam));
|
||||
|
||||
case PBM_SETSTEP:
|
||||
{
|
||||
INT oldStep;
|
||||
oldStep = infoPtr->Step;
|
||||
infoPtr->Step = (INT)wParam;
|
||||
return oldStep;
|
||||
}
|
||||
|
||||
case PBM_STEPIT:
|
||||
{
|
||||
INT oldVal;
|
||||
oldVal = infoPtr->CurVal;
|
||||
infoPtr->CurVal += infoPtr->Step;
|
||||
if(infoPtr->CurVal > infoPtr->MaxVal)
|
||||
infoPtr->CurVal = infoPtr->MinVal;
|
||||
if(oldVal != infoPtr->CurVal)
|
||||
{
|
||||
TRACE("PBM_STEPIT: current pos changed from %d to %d\n", oldVal, infoPtr->CurVal);
|
||||
PROGRESS_Invalidate( infoPtr, oldVal, infoPtr->CurVal );
|
||||
}
|
||||
return oldVal;
|
||||
}
|
||||
|
||||
case PBM_SETRANGE32:
|
||||
return PROGRESS_SetRange (infoPtr, (int)wParam, (int)lParam);
|
||||
|
||||
case PBM_GETRANGE:
|
||||
if (lParam) {
|
||||
((PPBRANGE)lParam)->iLow = infoPtr->MinVal;
|
||||
((PPBRANGE)lParam)->iHigh = infoPtr->MaxVal;
|
||||
}
|
||||
return wParam ? infoPtr->MinVal : infoPtr->MaxVal;
|
||||
|
||||
case PBM_GETPOS:
|
||||
return infoPtr->CurVal;
|
||||
|
||||
case PBM_SETBARCOLOR:
|
||||
infoPtr->ColorBar = (COLORREF)lParam;
|
||||
InvalidateRect(hwnd, NULL, TRUE);
|
||||
return 0;
|
||||
|
||||
case PBM_SETBKCOLOR:
|
||||
infoPtr->ColorBk = (COLORREF)lParam;
|
||||
InvalidateRect(hwnd, NULL, TRUE);
|
||||
return 0;
|
||||
|
||||
default:
|
||||
if ((message >= WM_USER) && (message < WM_APP))
|
||||
ERR("unknown msg %04x wp=%04x lp=%08lx\n", message, wParam, lParam );
|
||||
return DefWindowProcW( hwnd, message, wParam, lParam );
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Register [Internal]
|
||||
*
|
||||
* Registers the progress bar window class.
|
||||
*/
|
||||
VOID PROGRESS_Register (void)
|
||||
{
|
||||
WNDCLASSW wndClass;
|
||||
|
||||
ZeroMemory (&wndClass, sizeof(wndClass));
|
||||
wndClass.style = CS_GLOBALCLASS | CS_VREDRAW | CS_HREDRAW;
|
||||
wndClass.lpfnWndProc = (WNDPROC)ProgressWindowProc;
|
||||
wndClass.cbClsExtra = 0;
|
||||
wndClass.cbWndExtra = sizeof (PROGRESS_INFO *);
|
||||
wndClass.hCursor = LoadCursorW (0, (LPWSTR)IDC_ARROW);
|
||||
wndClass.lpszClassName = PROGRESS_CLASSW;
|
||||
|
||||
RegisterClassW (&wndClass);
|
||||
}
|
||||
|
||||
|
||||
/***********************************************************************
|
||||
* PROGRESS_Unregister [Internal]
|
||||
*
|
||||
* Unregisters the progress bar window class.
|
||||
*/
|
||||
VOID PROGRESS_Unregister (void)
|
||||
{
|
||||
UnregisterClassW (PROGRESS_CLASSW, NULL);
|
||||
}
|
||||
|
||||
+3080
-3080
File diff suppressed because it is too large
Load Diff
+4517
-4517
File diff suppressed because it is too large
Load Diff
+132
-132
@@ -1,132 +1,132 @@
|
||||
/*
|
||||
* Undocumented SmoothScrollWindow function from COMCTL32.DLL
|
||||
*
|
||||
* Copyright 2000 Marcus Meissner <marcus@jet.franken.de>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* TODO
|
||||
* - actually add smooth scrolling
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winreg.h"
|
||||
#include "winerror.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
|
||||
static DWORD smoothscroll = 2;
|
||||
|
||||
typedef BOOL (CALLBACK *SCROLLWINDOWEXPROC)(HWND,INT,INT,LPRECT,LPRECT,HRGN,LPRECT,DWORD);
|
||||
typedef struct tagSMOOTHSCROLLSTRUCT {
|
||||
DWORD dwSize;
|
||||
DWORD x2;
|
||||
HWND hwnd;
|
||||
DWORD dx;
|
||||
|
||||
DWORD dy;
|
||||
LPRECT lpscrollrect;
|
||||
LPRECT lpcliprect;
|
||||
HRGN hrgnupdate;
|
||||
|
||||
LPRECT lpupdaterect;
|
||||
DWORD flags;
|
||||
DWORD stepinterval;
|
||||
DWORD dx_step;
|
||||
|
||||
DWORD dy_step;
|
||||
SCROLLWINDOWEXPROC scrollfun; /* same parameters as ScrollWindowEx */
|
||||
} SMOOTHSCROLLSTRUCT;
|
||||
|
||||
/**************************************************************************
|
||||
* SmoothScrollWindow [COMCTL32.382]
|
||||
*
|
||||
* Lots of magic for smooth scrolling windows.
|
||||
*
|
||||
* Currently only scrolls ONCE. The comctl32 implementation uses GetTickCount
|
||||
* and what else to do smooth scrolling.
|
||||
*/
|
||||
|
||||
BOOL WINAPI SmoothScrollWindow( SMOOTHSCROLLSTRUCT *smooth ) {
|
||||
LPRECT lpupdaterect = smooth->lpupdaterect;
|
||||
HRGN hrgnupdate = smooth->hrgnupdate;
|
||||
RECT tmprect;
|
||||
BOOL ret = TRUE;
|
||||
DWORD flags = smooth->flags;
|
||||
|
||||
if (smooth->dwSize!=sizeof(SMOOTHSCROLLSTRUCT))
|
||||
return FALSE;
|
||||
|
||||
if (!lpupdaterect)
|
||||
lpupdaterect = &tmprect;
|
||||
SetRectEmpty(lpupdaterect);
|
||||
|
||||
if (!(flags & 0x40000)) { /* no override, use system wide defaults */
|
||||
if (smoothscroll == 2) {
|
||||
HKEY hkey;
|
||||
|
||||
smoothscroll = 0;
|
||||
if (!RegOpenKeyA(HKEY_CURRENT_USER,"Control Panel\\Desktop",&hkey)) {
|
||||
DWORD len = 4;
|
||||
|
||||
RegQueryValueExA(hkey,"SmoothScroll",0,0,(LPBYTE)&smoothscroll,&len);
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
}
|
||||
if (!smoothscroll)
|
||||
flags |= 0x20000;
|
||||
}
|
||||
|
||||
if (flags & 0x20000) { /* are we doing jump scrolling? */
|
||||
if ((smooth->x2 & 1) && smooth->scrollfun)
|
||||
return smooth->scrollfun(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
else
|
||||
return ScrollWindowEx(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
}
|
||||
|
||||
FIXME("(hwnd=%p,flags=%lx,x2=%lx): should smooth scroll here.\n",
|
||||
smooth->hwnd,flags,smooth->x2
|
||||
);
|
||||
/* FIXME: do timer based smooth scrolling */
|
||||
if ((smooth->x2 & 1) && smooth->scrollfun)
|
||||
return smooth->scrollfun(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
else
|
||||
return ScrollWindowEx(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
return ret;
|
||||
}
|
||||
/*
|
||||
* Undocumented SmoothScrollWindow function from COMCTL32.DLL
|
||||
*
|
||||
* Copyright 2000 Marcus Meissner <marcus@jet.franken.de>
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public
|
||||
* License as published by the Free Software Foundation; either
|
||||
* version 2.1 of the License, or (at your option) any later version.
|
||||
*
|
||||
* This library 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
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
* TODO
|
||||
* - actually add smooth scrolling
|
||||
*/
|
||||
|
||||
#include <stdarg.h>
|
||||
|
||||
#include "windef.h"
|
||||
#include "winbase.h"
|
||||
#include "winreg.h"
|
||||
#include "winerror.h"
|
||||
#include "wingdi.h"
|
||||
#include "winuser.h"
|
||||
#include "winnls.h"
|
||||
#include "commctrl.h"
|
||||
#include "wine/debug.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(commctrl);
|
||||
|
||||
static DWORD smoothscroll = 2;
|
||||
|
||||
typedef BOOL (CALLBACK *SCROLLWINDOWEXPROC)(HWND,INT,INT,LPRECT,LPRECT,HRGN,LPRECT,DWORD);
|
||||
typedef struct tagSMOOTHSCROLLSTRUCT {
|
||||
DWORD dwSize;
|
||||
DWORD x2;
|
||||
HWND hwnd;
|
||||
DWORD dx;
|
||||
|
||||
DWORD dy;
|
||||
LPRECT lpscrollrect;
|
||||
LPRECT lpcliprect;
|
||||
HRGN hrgnupdate;
|
||||
|
||||
LPRECT lpupdaterect;
|
||||
DWORD flags;
|
||||
DWORD stepinterval;
|
||||
DWORD dx_step;
|
||||
|
||||
DWORD dy_step;
|
||||
SCROLLWINDOWEXPROC scrollfun; /* same parameters as ScrollWindowEx */
|
||||
} SMOOTHSCROLLSTRUCT;
|
||||
|
||||
/**************************************************************************
|
||||
* SmoothScrollWindow [COMCTL32.382]
|
||||
*
|
||||
* Lots of magic for smooth scrolling windows.
|
||||
*
|
||||
* Currently only scrolls ONCE. The comctl32 implementation uses GetTickCount
|
||||
* and what else to do smooth scrolling.
|
||||
*/
|
||||
|
||||
BOOL WINAPI SmoothScrollWindow( SMOOTHSCROLLSTRUCT *smooth ) {
|
||||
LPRECT lpupdaterect = smooth->lpupdaterect;
|
||||
HRGN hrgnupdate = smooth->hrgnupdate;
|
||||
RECT tmprect;
|
||||
BOOL ret = TRUE;
|
||||
DWORD flags = smooth->flags;
|
||||
|
||||
if (smooth->dwSize!=sizeof(SMOOTHSCROLLSTRUCT))
|
||||
return FALSE;
|
||||
|
||||
if (!lpupdaterect)
|
||||
lpupdaterect = &tmprect;
|
||||
SetRectEmpty(lpupdaterect);
|
||||
|
||||
if (!(flags & 0x40000)) { /* no override, use system wide defaults */
|
||||
if (smoothscroll == 2) {
|
||||
HKEY hkey;
|
||||
|
||||
smoothscroll = 0;
|
||||
if (!RegOpenKeyA(HKEY_CURRENT_USER,"Control Panel\\Desktop",&hkey)) {
|
||||
DWORD len = 4;
|
||||
|
||||
RegQueryValueExA(hkey,"SmoothScroll",0,0,(LPBYTE)&smoothscroll,&len);
|
||||
RegCloseKey(hkey);
|
||||
}
|
||||
}
|
||||
if (!smoothscroll)
|
||||
flags |= 0x20000;
|
||||
}
|
||||
|
||||
if (flags & 0x20000) { /* are we doing jump scrolling? */
|
||||
if ((smooth->x2 & 1) && smooth->scrollfun)
|
||||
return smooth->scrollfun(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
else
|
||||
return ScrollWindowEx(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
}
|
||||
|
||||
FIXME("(hwnd=%p,flags=%lx,x2=%lx): should smooth scroll here.\n",
|
||||
smooth->hwnd,flags,smooth->x2
|
||||
);
|
||||
/* FIXME: do timer based smooth scrolling */
|
||||
if ((smooth->x2 & 1) && smooth->scrollfun)
|
||||
return smooth->scrollfun(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
else
|
||||
return ScrollWindowEx(
|
||||
smooth->hwnd,smooth->dx,smooth->dy,smooth->lpscrollrect,
|
||||
smooth->lpcliprect,hrgnupdate,lpupdaterect,
|
||||
flags & 0xffff
|
||||
);
|
||||
return ret;
|
||||
}
|
||||
|
||||
+1294
-1294
File diff suppressed because it is too large
Load Diff
+3271
-3271
File diff suppressed because it is too large
Load Diff
+6149
-6149
File diff suppressed because it is too large
Load Diff
+2454
-2454
File diff suppressed because it is too large
Load Diff
+1796
-1796
File diff suppressed because it is too large
Load Diff
+5565
-5565
File diff suppressed because it is too large
Load Diff
+972
-972
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user