fixed line endings on all files

svn path=/trunk/; revision=6249
This commit is contained in:
Vizzini
2003-10-06 16:13:28 +00:00
parent 2b4d614b3b
commit 2f9834a4b1
31 changed files with 58266 additions and 58266 deletions
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+160 -160
View File
@@ -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
View File
@@ -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
View File
@@ -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 */
+41 -41
View File
@@ -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"
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+133 -133
View File
@@ -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
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+78 -78
View File
@@ -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 */
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+141 -141
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+441 -441
View File
@@ -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);
}
File diff suppressed because it is too large Load Diff
+4517 -4517
View File
File diff suppressed because it is too large Load Diff
+132 -132
View File
@@ -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
View File
File diff suppressed because it is too large Load Diff
+3271 -3271
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff