~ubuntu-branches/ubuntu/karmic/xpuzzles/karmic

« back to all changes in this revision

Viewing changes to xmlink/xmlink.c

  • Committer: Bazaar Package Importer
  • Author(s): Adam Conrad
  • Date: 2005-08-22 16:29:42 UTC
  • mfrom: (2.1.1 sarge)
  • Revision ID: james.westby@ubuntu.com-20050822162942-tdtf178zkpd3xxdg
Tags: 7.1.3-1ubuntu1
Update {build-,}depends for xorg -> mesa transition.

Show diffs side-by-side

added added

removed removed

Lines of Context:
5
5
#
6
6
###
7
7
#
8
 
#  Copyright (c) 1994 - 2004    David Albert Bagley, bagleyd@tux.org
 
8
#  Copyright (c) 1994 - 2005    David Albert Bagley, bagleyd@tux.org
9
9
#
10
10
#                   All Rights Reserved
11
11
#
95
95
 
96
96
#ifdef HAVE_MOTIF
97
97
static const char aboutHelp[] = {
98
 
        "Version 7.1.1\n"
 
98
        "Version 7.1.3\n"
99
99
        "Send bugs (reports or fixes) to the author: "
100
100
        "David Bagley <bagleyd@tux.org>\n"
101
101
        "The latest version is at: "
151
151
        "\n"
152
152
        "Press \"W\" or \"w\" keys to save a puzzle.\n"
153
153
        "\n"
 
154
        "Press \"C\" or \"c\" keys to clear a puzzle.\n"
 
155
        "\n"
154
156
        "Press \">\" or \".\" keys to speed up the movement of tiles.\n"
155
157
        "\n"
156
158
        "Press \"<\" or \",\" keys to slow down the movement of tiles.\n"
157
159
        "\n"
158
 
        "Press \"@\" or \"2\" keys to toggle the sound.\n"
 
160
        "Press \"@\" key to toggle the sound.\n"
159
161
        "\n"
160
162
        "Press \"Esc\" key to hide program.\n"
161
163
        "\n"
854
856
{
855
857
        HBRUSH brush = (HBRUSH) NULL;
856
858
        PAINTSTRUCT paint;
 
859
        static Boolean mousePressed = False;
857
860
 
858
861
        Wnd = widget.core.hWnd = hWnd;
859
862
        if (GetFocus()) {
895
898
                        (void) ReleaseDC(hWnd, widget.core.hDC);
896
899
                        break;
897
900
                case WM_LBUTTONDOWN:
 
901
                        mousePressed = True;
898
902
                        widget.core.hDC = GetDC(hWnd);
899
903
                        (void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
900
904
                        SelectMlink(&widget, LOWORD(lParam), HIWORD(lParam),
901
905
                                ((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
902
906
                        (void) ReleaseDC(hWnd, widget.core.hDC);
903
907
                        break;
 
908
                case WM_MOUSEMOVE:
 
909
                        if (!(wParam & MK_LBUTTON)) {
 
910
                                mousePressed = False;
 
911
                                widget.core.hDC = GetDC(hWnd);
 
912
                                (void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
 
913
                                ReleaseMlink(&widget, LOWORD(lParam), HIWORD(lParam),
 
914
                                        ((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
 
915
                                (void) ReleaseDC(hWnd, widget.core.hDC);
 
916
                                break;
 
917
                        }
 
918
                        widget.core.hDC = GetDC(hWnd);
 
919
                        (void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
 
920
                        MotionMlink(&widget, LOWORD(lParam), HIWORD(lParam),
 
921
                                ((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
 
922
                        (void) ReleaseDC(hWnd, widget.core.hDC);
 
923
                        break;
904
924
                case WM_LBUTTONUP:
 
925
                        mousePressed = False;
905
926
                        widget.core.hDC = GetDC(hWnd);
906
927
                        (void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
907
928
                        ReleaseMlink(&widget, LOWORD(lParam), HIWORD(lParam),
908
929
                                ((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)));
909
930
                        (void) ReleaseDC(hWnd, widget.core.hDC);
910
931
                        break;
 
932
#if (_WIN32_WINNT >= 0x0400) || (_WIN32_WINDOWS > 0x0400)
 
933
                case WM_MOUSEWHEEL:
 
934
                        widget.core.hDC = GetDC(hWnd);
 
935
                        (void) SelectObject(widget.core.hDC, GetStockObject(NULL_PEN));
 
936
                        {
 
937
                                int zDelta = ((short) HIWORD(wParam));
 
938
                                POINT cursor, origin;
 
939
 
 
940
                                origin.x = 0, origin.y = 0;
 
941
                                ClientToScreen(hWnd, &origin);
 
942
                                (void) GetCursorPos(&cursor);
 
943
                                if (zDelta > (WHEEL_DELTA >> 1)) {
 
944
                                        MoveMlinkInput(&widget, cursor.x - origin.x, TOP,
 
945
                                ((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)),
 
946
                                (GetKeyState(VK_CONTROL) >> 1) ? 1 : 0);
 
947
                                        if (GetKeyState(VK_CONTROL) >> 1) {
 
948
                                                SizeMlink(&widget);
 
949
                                                (void) InvalidateRect(hWnd, NULL, TRUE);
 
950
                                        }
 
951
                                } else if (zDelta < -(WHEEL_DELTA >> 1)) {
 
952
                                        MoveMlinkInput(&widget, cursor.x - origin.x, BOTTOM,
 
953
                                ((GetKeyState(VK_SHIFT) >> 1) || (GetKeyState(VK_CAPITAL) & 1)),
 
954
                                (GetKeyState(VK_CONTROL) >> 1) ? 1 : 0);
 
955
                                        if (GetKeyState(VK_CONTROL) >> 1) {
 
956
                                                SizeMlink(&widget);
 
957
                                                (void) InvalidateRect(hWnd, NULL, TRUE);
 
958
                                        }
 
959
                                }
 
960
                        }
 
961
                        (void) ReleaseDC(hWnd, widget.core.hDC);
 
962
                        break;
 
963
#endif
911
964
                case WM_COMMAND:
912
965
                        switch (LOWORD(wParam)) {
913
966
                                case IDM_GET:
1032
1085
 
1033
1086
int WINAPI
1034
1087
WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine,
1035
 
        int numCmdShow)
 
1088
                int numCmdShow)
1036
1089
{
1037
1090
        HWND hWnd;
1038
1091
        MSG msg;