mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 19:26:32 +00:00
this log message left intentionally non-descriptive
svn path=/trunk/; revision=45302
This commit is contained in:
@@ -12,6 +12,9 @@
|
||||
|
||||
#include "precomp.h"
|
||||
|
||||
#define ANIM_STEP 2
|
||||
#define ANIM_TIME 50
|
||||
|
||||
typedef struct _IMGINFO
|
||||
{
|
||||
HBITMAP hBitmap;
|
||||
@@ -19,6 +22,7 @@ typedef struct _IMGINFO
|
||||
INT cySource;
|
||||
} IMGINFO, *PIMGINFO;
|
||||
|
||||
PIMGINFO pImgInfo = NULL;
|
||||
|
||||
void
|
||||
ShowLastWin32Error(HWND hWndOwner)
|
||||
@@ -70,6 +74,124 @@ InitImageInfo(PIMGINFO ImgInfo)
|
||||
}
|
||||
}
|
||||
|
||||
LRESULT CALLBACK RosImageProc(HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam)
|
||||
{
|
||||
static UINT timerid = 0, top = 0, offset;
|
||||
static HBITMAP hBitmap2;
|
||||
RECT r;
|
||||
NONCLIENTMETRICS ncm;
|
||||
HFONT hfont;
|
||||
BITMAP bitmap;
|
||||
HDC dc, sdc;
|
||||
TCHAR devtext[2048];
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_LBUTTONDBLCLK:
|
||||
if (wParam & (MK_CONTROL | MK_SHIFT))
|
||||
{
|
||||
if (timerid == 0)
|
||||
{
|
||||
top = 0; // set top
|
||||
|
||||
// build new bitmap
|
||||
GetObject(pImgInfo->hBitmap, sizeof(BITMAP), &bitmap);
|
||||
dc = CreateCompatibleDC(GetDC(NULL));
|
||||
sdc = CreateCompatibleDC(dc);
|
||||
ncm.cbSize = sizeof(NONCLIENTMETRICS);
|
||||
SystemParametersInfo(SPI_GETNONCLIENTMETRICS, sizeof(NONCLIENTMETRICS), &ncm, 0);
|
||||
|
||||
hfont = CreateFontIndirect(&ncm.lfMessageFont);
|
||||
SelectObject(dc, hfont);
|
||||
SetRect(&r, 0, 0, 0, 0);
|
||||
LoadString(hApplet, IDS_DEVS, devtext, sizeof(devtext) / sizeof(TCHAR));
|
||||
DrawText(dc, devtext, -1, &r, DT_CALCRECT);
|
||||
hBitmap2 = CreateBitmap(pImgInfo->cxSource, (2 * pImgInfo->cySource) + (r.bottom + 1 - r.top), bitmap.bmPlanes, bitmap.bmBitsPixel, NULL);
|
||||
SelectObject(sdc, pImgInfo->hBitmap);
|
||||
SelectObject(dc, hBitmap2);
|
||||
offset = 0;
|
||||
BitBlt(dc, 0, offset, bitmap.bmWidth, bitmap.bmHeight, sdc, 0, 0, SRCCOPY);
|
||||
offset += bitmap.bmHeight;
|
||||
|
||||
SetRect(&r, 0, offset, bitmap.bmWidth, offset + (r.bottom - r.top) + 1);
|
||||
FillRect(dc, &r, GetSysColorBrush(COLOR_3DFACE));
|
||||
SetBkMode(dc, TRANSPARENT);
|
||||
OffsetRect(&r, 1, 1);
|
||||
SetTextColor(dc, GetSysColor(COLOR_BTNSHADOW));
|
||||
DrawText(dc, devtext, -1, &r, DT_CENTER);
|
||||
OffsetRect(&r, -1, -1);
|
||||
SetTextColor(dc, GetSysColor(COLOR_WINDOWTEXT));
|
||||
DrawText(dc, devtext, -1, &r, DT_CENTER);
|
||||
offset += r.bottom - r.top;
|
||||
|
||||
BitBlt(dc, 0, offset, bitmap.bmWidth, bitmap.bmHeight, sdc, 0, 0, SRCCOPY);
|
||||
offset += bitmap.bmHeight;
|
||||
DeleteDC(sdc);
|
||||
DeleteDC(dc);
|
||||
|
||||
timerid = SetTimer(hwnd, 1, ANIM_TIME, NULL);
|
||||
}
|
||||
}
|
||||
break;
|
||||
case WM_LBUTTONDOWN:
|
||||
if (timerid)
|
||||
{
|
||||
KillTimer(hwnd, timerid);
|
||||
top = 0;
|
||||
timerid = 0;
|
||||
DeleteObject(hBitmap2);
|
||||
InvalidateRect(hwnd, NULL, FALSE);
|
||||
}
|
||||
break;
|
||||
case WM_TIMER:
|
||||
top += ANIM_STEP;
|
||||
if (top > offset - pImgInfo->cySource)
|
||||
{
|
||||
KillTimer(hwnd, timerid);
|
||||
top = 0;
|
||||
timerid = 0;
|
||||
DeleteObject(hBitmap2);
|
||||
}
|
||||
InvalidateRect(hwnd, NULL, FALSE);
|
||||
break;
|
||||
case WM_PAINT:
|
||||
{
|
||||
PAINTSTRUCT PS;
|
||||
HDC hdcMem, hdc;
|
||||
LONG left;
|
||||
if (wParam != 0)
|
||||
{
|
||||
hdc = (HDC)wParam;
|
||||
} else
|
||||
{
|
||||
hdc = BeginPaint(hwnd,&PS);
|
||||
}
|
||||
GetClientRect(hwnd,&PS.rcPaint);
|
||||
|
||||
/* position image in center of dialog */
|
||||
left = (PS.rcPaint.right - pImgInfo->cxSource) / 2;
|
||||
hdcMem = CreateCompatibleDC(hdc);
|
||||
|
||||
if (hdcMem != NULL)
|
||||
{
|
||||
SelectObject(hdcMem, timerid ? hBitmap2 : pImgInfo->hBitmap);
|
||||
BitBlt(hdc,
|
||||
left,
|
||||
PS.rcPaint.top,
|
||||
PS.rcPaint.right - PS.rcPaint.left,
|
||||
PS.rcPaint.top + pImgInfo->cySource,
|
||||
hdcMem,
|
||||
0,
|
||||
top,
|
||||
SRCCOPY);
|
||||
DeleteDC(hdcMem);
|
||||
}
|
||||
if (wParam == 0)
|
||||
EndPaint(hwnd,&PS);
|
||||
break;
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static VOID
|
||||
SetRegTextData(HWND hwnd,
|
||||
@@ -372,13 +494,10 @@ GeneralPageProc(HWND hwndDlg,
|
||||
WPARAM wParam,
|
||||
LPARAM lParam)
|
||||
{
|
||||
PIMGINFO pImgInfo;
|
||||
|
||||
UNREFERENCED_PARAMETER(lParam);
|
||||
UNREFERENCED_PARAMETER(wParam);
|
||||
|
||||
pImgInfo = (PIMGINFO)GetWindowLongPtr(hwndDlg, DWLP_USER);
|
||||
|
||||
switch (uMsg)
|
||||
{
|
||||
case WM_INITDIALOG:
|
||||
@@ -389,9 +508,8 @@ GeneralPageProc(HWND hwndDlg,
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
SetWindowLongPtr(hwndDlg, DWLP_USER, (LONG_PTR)pImgInfo);
|
||||
|
||||
InitImageInfo(pImgInfo);
|
||||
SetWindowLongPtr(GetDlgItem(hwndDlg, IDC_ROSIMG), GWL_WNDPROC, (LONG)RosImageProc);
|
||||
GetSystemInformation(hwndDlg);
|
||||
break;
|
||||
|
||||
|
||||
@@ -289,4 +289,5 @@ BEGIN
|
||||
IDS_USERPROFILE_TYPE "Typ"
|
||||
IDS_USERPROFILE_STATUS "Status"
|
||||
IDS_USERPROFILE_MODIFIED "Geändert"
|
||||
IDS_DEVS "\nReactOS Team\n\nProjektkoordinator\n\nAleksey Bragin\n\nEntwicklerteam\n\nAleksey Bragin\nAndrew Greenwood\nAndrey Korotaev\nArt Yerkes\nChristoph von Wittich\nColin Finck\nDaniel Reimer\nDmitry Chapyshev\nEric Kohl\nGed Murphy\nGregor Brunmar\nHervé Poussineau\nJames Tabor\nJeffrey Morlan\nJohannes Anderwald\nKJK::Hyperion\nMaarten Bosma\nMagnus Olsen\nMarc Piulachs\nMatthias Kupfer\nMike Nordell\nPeter Ward\nPierre Schweitzer\nSaveliy Tretiakov\nStefan Ginsberg\nSylvain Petreolle\nThomas Blümel\nTimo Kreuzer \n\nAlex Ionescu\nFilip Navara\nGunnar Dalsnes\nMartin Fuchs\nRoyce Mitchell III\nBrandon Turner\nBrian Palmer\nCasper Hornstrup\nDavid Welch\nEmanuele Aliberti\nGé van Geldorp\nGregor Anich\nJason Filby\nJens Collin\nMichael Wirth\nNathan Woods\nRobert Dickenson\nRex Jolliff\nVizzini \n\nRelease Verantwortliche\n\nColin Finck\nZ98\n\nWebseitenteam\n\nColin Finck\nJaix Bly\nKlemens Friedl\nZ98\n\nMedienteam\n\nMindflyer\nWierd_W\n\nweiterer Dank geht an\n\nalle Mitwirkenden\nWine Team\n\n"
|
||||
END
|
||||
|
||||
@@ -284,4 +284,5 @@ BEGIN
|
||||
IDS_USERPROFILE_TYPE "Type"
|
||||
IDS_USERPROFILE_STATUS "Status"
|
||||
IDS_USERPROFILE_MODIFIED "Modified"
|
||||
IDS_DEVS "\nReactOS Team\n\nProject Coordinator\n\nAleksey Bragin\n\nDevelopment Team\n\nAleksey Bragin\nAndrew Greenwood\nAndrey Korotaev\nArt Yerkes\nChristoph von Wittich\nColin Finck\nDaniel Reimer\nDmitry Chapyshev\nEric Kohl\nGed Murphy\nGregor Brunmar\nHervé Poussineau\nJames Tabor\nJeffrey Morlan\nJohannes Anderwald\nKJK::Hyperion\nMaarten Bosma\nMagnus Olsen\nMarc Piulachs\nMatthias Kupfer\nMike Nordell\nPeter Ward\nPierre Schweitzer\nSaveliy Tretiakov\nStefan Ginsberg\nSylvain Petreolle\nThomas Blümel\nTimo Kreuzer \n\nAlex Ionescu\nFilip Navara\nGunnar Dalsnes\nMartin Fuchs\nRoyce Mitchell III\nBrandon Turner\nBrian Palmer\nCasper Hornstrup\nDavid Welch\nEmanuele Aliberti\nGé van Geldorp\nGregor Anich\nJason Filby\nJens Collin\nMichael Wirth\nNathan Woods\nRobert Dickenson\nRex Jolliff\nVizzini \n\nRelease Engineers\n\nColin Finck\nZ98\n\nWebsite Team\n\nColin Finck\nJaix Bly\nKlemens Friedl\nZ98\n\nMedia Team\n\nMindflyer\nWierd_W\n\nfurther thanks go to\n\nall Contributers\nWine Team\n\n"
|
||||
END
|
||||
|
||||
@@ -156,5 +156,6 @@
|
||||
#define RC_LICENSE 1502
|
||||
#define RTDATA 1503
|
||||
|
||||
#define IDS_DEVS 2000
|
||||
|
||||
#endif /* __CPL_RESOURCE_H */
|
||||
|
||||
Reference in New Issue
Block a user