| 132 | } |
| 133 | |
| 134 | void ButtonEvent(DWORD dwEvent, LPARAM lParam) |
| 135 | { |
| 136 | #ifndef SHADOW_BROODWAR |
| 137 | BYTE bFlag = 0; |
| 138 | switch( dwEvent ) |
| 139 | { |
| 140 | case BW_EVN_LBUTTONDOWN: |
| 141 | case BW_EVN_LBUTTONUP: |
| 142 | case BW_EVN_LBUTTONDBLCLK: |
| 143 | bFlag = 0x02; |
| 144 | break; |
| 145 | case BW_EVN_RBUTTONDOWN: |
| 146 | case BW_EVN_RBUTTONUP: |
| 147 | case BW_EVN_RBUTTONDBLCLK: |
| 148 | bFlag = 0x08; |
| 149 | break; |
| 150 | case BW_EVN_MBUTTONDOWN: |
| 151 | case BW_EVN_MBUTTONUP: |
| 152 | case BW_EVN_MBUTTONDBLCLK: |
| 153 | bFlag = 0x20; |
| 154 | break; |
| 155 | } |
| 156 | if ( !( BW::BWDATA::InputFlags & ~bFlag & 0x2A) ) |
| 157 | { |
| 158 | switch( dwEvent ) |
| 159 | { |
| 160 | case BW_EVN_LBUTTONDOWN: |
| 161 | case BW_EVN_RBUTTONDOWN: |
| 162 | case BW_EVN_MBUTTONDOWN: |
| 163 | case BW_EVN_LBUTTONDBLCLK: |
| 164 | case BW_EVN_RBUTTONDBLCLK: |
| 165 | case BW_EVN_MBUTTONDBLCLK: |
| 166 | BW::BWDATA::InputFlags |= bFlag; |
| 167 | SetCapture(ghMainWnd); |
| 168 | break; |
| 169 | case BW_EVN_LBUTTONUP: |
| 170 | case BW_EVN_RBUTTONUP: |
| 171 | case BW_EVN_MBUTTONUP: |
| 172 | BW::BWDATA::InputFlags &= ~bFlag; |
| 173 | ReleaseCapture(); |
| 174 | break; |
| 175 | } |
| 176 | POINTS pt = MAKEPOINTS(lParam); |
| 177 | BW::dlgEvent evt = { 0 }; |
| 178 | |
| 179 | evt.wNo = (WORD)dwEvent; |
| 180 | evt.cursor.x = pt.x; |
| 181 | evt.cursor.y = pt.y; |
| 182 | BW::BWDATA::Mouse.x = pt.x; |
| 183 | BW::BWDATA::Mouse.y = pt.y; |
| 184 | if ( !SendHotkey(&evt) && BW::BWDATA::InputProcedures[dwEvent] ) |
| 185 | BW::BWDATA::InputProcedures[dwEvent](&evt); |
| 186 | } |
| 187 | #endif |
| 188 | } |
| 189 | |
| 190 | void CorrectWindowWidth(int type, SIZE *ws, RECT *rct, SIZE *border) |
| 191 | { |
no test coverage detected