Changeset 629 in dev for trunk/ab5.0/abdev/abdev/IconEditor_Main.cpp
- Timestamp:
- Jun 2, 2008, 11:50:24 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/ab5.0/abdev/abdev/IconEditor_Main.cpp
r625 r629 15 15 if(pRect->left<0) pRect->left=0; 16 16 if(pRect->top<0) pRect->top=0; 17 if(pRect->left>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth)18 pRect->left=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth-1;19 if(pRect->top>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)20 pRect->top=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2-1;17 if(pRect->left>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth) 18 pRect->left=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth-1; 19 if(pRect->top>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2) 20 pRect->top=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2-1; 21 21 22 22 if(pRect->right<0) pRect->right=0; 23 23 if(pRect->bottom<0) pRect->bottom=0; 24 if(pRect->right>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth)25 pRect->right=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth-1;26 if(pRect->bottom>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)27 pRect->bottom=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2-1;24 if(pRect->right>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth) 25 pRect->right=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth-1; 26 if(pRect->bottom>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2) 27 pRect->bottom=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2-1; 28 28 } 29 29 void GetZoomedPos(POINT *pPos){ … … 35 35 36 36 if(x<0||y<0|| 37 x>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||38 y>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)37 x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth|| 38 y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2) 39 39 return; 40 40 … … 52 52 53 53 //カラーテーブルを取得 54 pRgbq=(RGBQUAD *)(MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));55 56 i2=(int)pow((double)2,(double)MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biBitCount);54 pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER)); 55 56 i2=(int)pow((double)2,(double)MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biBitCount); 57 57 for(i=0;i<i2;i++){ 58 58 if(ColorRef==RGB(pRgbq[i].rgbRed,pRgbq[i].rgbGreen,pRgbq[i].rgbBlue)) break; … … 74 74 //何も選択されていない場合は0を返す 75 75 sw=0; 76 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==0) return 0;77 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==1){76 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==0) return 0; 77 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1){ 78 78 IconEdit_SelectImage(WndNum); 79 79 sw=1; 80 80 } 81 81 82 size.cx=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left+1;83 size.cy=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top+1;84 85 hDC=CreateCompatibleDC(MdiInfo[WndNum] .MdiIconEditInfo->memdc);82 size.cx=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left+1; 83 size.cy=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top+1; 84 85 hDC=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc); 86 86 hBmp=CreateCompatibleBitmap( 87 MdiInfo[WndNum] .MdiIconEditInfo->memdc,87 MdiInfo[WndNum]->MdiIconEditInfo->memdc, 88 88 size.cx, 89 89 size.cy); … … 91 91 92 92 BitBlt(hDC,0,0,size.cx,size.cy, 93 MdiInfo[WndNum] .MdiIconEditInfo->memdc,94 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left,95 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top,93 MdiInfo[WndNum]->MdiIconEditInfo->memdc, 94 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left, 95 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top, 96 96 SRCCOPY); 97 97 … … 99 99 100 100 if(sw){ 101 DeleteObject(MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp);102 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=1;101 DeleteObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp); 102 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=1; 103 103 } 104 104 … … 113 113 BITMAP Bitmap; 114 114 115 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==2)115 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2) 116 116 IconEdit_PasteImage(WndNum); 117 117 118 118 GetObject(hBmp,sizeof(Bitmap),&Bitmap); 119 119 120 hDC=CreateCompatibleDC(MdiInfo[WndNum] .MdiIconEditInfo->memdc);121 MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp=122 CreateCompatibleBitmap(MdiInfo[WndNum] .MdiIconEditInfo->memdc,Bitmap.bmWidth,Bitmap.bmHeight);123 SelectObject(hDC,MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp);124 hDC2=CreateCompatibleDC(MdiInfo[WndNum] .MdiIconEditInfo->memdc);120 hDC=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc); 121 MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp= 122 CreateCompatibleBitmap(MdiInfo[WndNum]->MdiIconEditInfo->memdc,Bitmap.bmWidth,Bitmap.bmHeight); 123 SelectObject(hDC,MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp); 124 hDC2=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc); 125 125 SelectObject(hDC2,hBmp); 126 126 … … 131 131 DeleteDC(hDC2); 132 132 133 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left=0;134 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top=0;135 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right=Bitmap.bmWidth-1;136 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom=Bitmap.bmHeight-1;137 138 InvalidateRect(MdiInfo[WndNum] .MdiIconEditInfo->hMain,NULL,0);139 140 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=2;133 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left=0; 134 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top=0; 135 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right=Bitmap.bmWidth-1; 136 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom=Bitmap.bmHeight-1; 137 138 InvalidateRect(MdiInfo[WndNum]->MdiIconEditInfo->hMain,NULL,0); 139 140 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=2; 141 141 } 142 142 … … 145 145 HDC hDC; 146 146 147 size.cx=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left+1;148 size.cy=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top+1;149 150 hDC=CreateCompatibleDC(MdiInfo[WndNum] .MdiIconEditInfo->memdc);151 MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp=152 CreateCompatibleBitmap(MdiInfo[WndNum] .MdiIconEditInfo->memdc,size.cx,size.cy);153 SelectObject(hDC,MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp);147 size.cx=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left+1; 148 size.cy=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top+1; 149 150 hDC=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc); 151 MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp= 152 CreateCompatibleBitmap(MdiInfo[WndNum]->MdiIconEditInfo->memdc,size.cx,size.cy); 153 SelectObject(hDC,MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp); 154 154 BitBlt(hDC,0,0,size.cx,size.cy, 155 MdiInfo[WndNum] .MdiIconEditInfo->memdc,156 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left,157 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top,155 MdiInfo[WndNum]->MdiIconEditInfo->memdc, 156 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left, 157 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top, 158 158 SRCCOPY); 159 159 DeleteDC(hDC); 160 160 161 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=2;161 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=2; 162 162 } 163 163 void IconEdit_PasteImage(int WndNum){ … … 179 179 IconEdit_NoticeChanging(WndNum); 180 180 181 GetObject(MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap);181 GetObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap); 182 182 pSelectingBuffer=(COLORREF *)HeapAlloc(hHeap,0,Bitmap.bmWidth*Bitmap.bmHeight*sizeof(COLORREF)); 183 183 SelectingBitmapInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); … … 187 187 SelectingBitmapInfo.bmiHeader.biBitCount=32; 188 188 SelectingBitmapInfo.bmiHeader.biCompression=BI_RGB; 189 GetDIBits(MdiInfo[WndNum] .MdiIconEditInfo->memdc,190 MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp,189 GetDIBits(MdiInfo[WndNum]->MdiIconEditInfo->memdc, 190 MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp, 191 191 0,Bitmap.bmHeight, 192 192 pSelectingBuffer,&SelectingBitmapInfo,DIB_RGB_COLORS); 193 193 194 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];194 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]; 195 195 196 196 //カラーテーブルを取得 197 pRgbq=(RGBQUAD *)(MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));197 pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER)); 198 198 199 199 //ビットバッファを取得 200 pBuffer=MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+200 pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+ 201 201 sizeof(BITMAPINFOHEADER); 202 202 if(pBmpInfoHdr->biBitCount<=8) … … 206 206 pMaskBuf=pBuffer+pBmpInfoHdr->biBitCount*pBmpInfoHdr->biWidth*(pBmpInfoHdr->biHeight/2)/8; 207 207 208 for(y=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom;y>=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;y--){209 for(x=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left;x<=MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.right;x++){208 for(y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom;y>=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top;y--){ 209 for(x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left;x<=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right;x++){ 210 210 if(x<0||y<0|| 211 x>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||212 y>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2){211 x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth|| 212 y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2){ 213 213 //範囲外の場合 214 214 continue; 215 215 } 216 216 217 selecting_x=x-MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left;218 selecting_y=y-MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top;217 selecting_x=x-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left; 218 selecting_y=y-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top; 219 219 dwRgbq=pSelectingBuffer[(Bitmap.bmHeight-1-selecting_y)*Bitmap.bmWidth+selecting_x]; 220 220 … … 284 284 HeapDefaultFree(pSelectingBuffer); 285 285 286 DeleteObject(MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp);287 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=0;286 DeleteObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp); 287 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=0; 288 288 289 289 DrawIconToMemBmp(WndNum,0); 290 InvalidateRect(MdiInfo[WndNum] .MdiIconEditInfo->hMain,NULL,0);290 InvalidateRect(MdiInfo[WndNum]->MdiIconEditInfo->hMain,NULL,0); 291 291 } 292 292 … … 301 301 BITMAPINFOHEADER *pBmpInfoHdr; 302 302 303 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];303 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]; 304 304 305 305 if( !(pBmpInfoHdr->biBitCount == 4 || pBmpInfoHdr->biBitCount == 8 ) ){ … … 310 310 311 311 hPen=CreatePen(PS_SOLID,0,RGB(200,200,200)); 312 hOldPen=(HPEN)SelectObject(MdiInfo[WndNum] .MdiIconEditInfo->memdc,hPen);312 hOldPen=(HPEN)SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hPen); 313 313 314 314 //カラーテーブルを取得 315 pRgbq=(RGBQUAD *)(MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));315 pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER)); 316 316 317 317 //ビットバッファを取得 318 pBuffer=MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+318 pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+ 319 319 sizeof(BITMAPINFOHEADER); 320 320 if(pBmpInfoHdr->biBitCount<=8) … … 344 344 if(i2){ 345 345 hBrush=CreateSolidBrush(TransparentClrRef); 346 hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum] .MdiIconEditInfo->memdc,hBrush);346 hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hBrush); 347 347 pos.x=x; 348 348 pos.y=y; 349 349 GetZoomedPos(&pos); 350 Rectangle(MdiInfo[WndNum] .MdiIconEditInfo->memdc,350 Rectangle(MdiInfo[WndNum]->MdiIconEditInfo->memdc, 351 351 pos.x, 352 352 pos.y, 353 353 pos.x+11, 354 354 pos.y+11); 355 SelectObject(MdiInfo[WndNum] .MdiIconEditInfo->memdc,hOldBrush);355 SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hOldBrush); 356 356 DeleteObject(hBrush); 357 357 358 SetPixel(MdiInfo[WndNum] .MdiIconEditInfo->memdc,x,y,TransparentClrRef);358 SetPixel(MdiInfo[WndNum]->MdiIconEditInfo->memdc,x,y,TransparentClrRef); 359 359 continue; 360 360 } … … 377 377 378 378 hBrush=CreateSolidBrush(ColorRef); 379 hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum] .MdiIconEditInfo->memdc,hBrush);379 hOldBrush=(HBRUSH)SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hBrush); 380 380 pos.x=x; 381 381 pos.y=y; 382 382 GetZoomedPos(&pos); 383 Rectangle(MdiInfo[WndNum] .MdiIconEditInfo->memdc,383 Rectangle(MdiInfo[WndNum]->MdiIconEditInfo->memdc, 384 384 pos.x, 385 385 pos.y, 386 386 pos.x+11, 387 387 pos.y+11); 388 SelectObject(MdiInfo[WndNum] .MdiIconEditInfo->memdc,hOldBrush);388 SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hOldBrush); 389 389 DeleteObject(hBrush); 390 390 391 SetPixel(MdiInfo[WndNum] .MdiIconEditInfo->memdc,x,y,ColorRef);392 } 393 } 394 395 SelectObject(MdiInfo[WndNum] .MdiIconEditInfo->memdc,hOldPen);391 SetPixel(MdiInfo[WndNum]->MdiIconEditInfo->memdc,x,y,ColorRef); 392 } 393 } 394 395 SelectObject(MdiInfo[WndNum]->MdiIconEditInfo->memdc,hOldPen); 396 396 DeleteObject(hPen); 397 397 } … … 404 404 405 405 if(x<0||y<0) return; 406 if(x>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||407 y>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)406 if(x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth|| 407 y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2) 408 408 return; 409 409 410 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];411 412 pBuffer=MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+410 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]; 411 412 pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+ 413 413 sizeof(BITMAPINFOHEADER); 414 414 pBuffer+=sizeof(DWORD)*(int)pow((double)2,(double)pBmpInfoHdr->biBitCount); … … 466 466 467 467 if(x<0||y<0) return 0; 468 if(x>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||469 y>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)468 if(x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth|| 469 y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2) 470 470 return 0; 471 471 472 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];472 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]; 473 473 474 474 //カラーテーブルを取得 475 pRgbq=(RGBQUAD *)(MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER));475 pRgbq=(RGBQUAD *)(MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+sizeof(BITMAPINFOHEADER)); 476 476 477 477 //通常バッファを取得 478 pBuffer=MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]+478 pBuffer=MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]+ 479 479 sizeof(BITMAPINFOHEADER)+ 480 480 sizeof(DWORD)*(int)pow((double)2,(double)pBmpInfoHdr->biBitCount); … … 567 567 568 568 if(x<0||y<0) return; 569 if(x>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biWidth||570 y>=MdiInfo[WndNum] .MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum]->biHeight/2)569 if(x>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biWidth|| 570 y>=MdiInfo[WndNum]->MdiIconEditInfo->pBmpHdr[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]->biHeight/2) 571 571 return; 572 572 … … 676 676 pRect->right, 677 677 pRect->bottom, 678 GetColorCode(WndNum,MdiInfo[WndNum] .MdiIconEditInfo->SubColor),679 GetColorCode(WndNum,MdiInfo[WndNum] .MdiIconEditInfo->SubColor),1);678 GetColorCode(WndNum,MdiInfo[WndNum]->MdiIconEditInfo->SubColor), 679 GetColorCode(WndNum,MdiInfo[WndNum]->MdiIconEditInfo->SubColor),1); 680 680 681 681 DrawIconToMemBmp(WndNum,0); 682 InvalidateRect(MdiInfo[WndNum] .MdiIconEditInfo->hMain,NULL,0);682 InvalidateRect(MdiInfo[WndNum]->MdiIconEditInfo->hMain,NULL,0); 683 683 } 684 684 … … 697 697 //以前の選択フレームを消去 698 698 BITMAPINFOHEADER *pBmpInfoHdr; 699 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];699 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]; 700 700 pos.x=pBmpInfoHdr->biWidth; 701 701 pos.y=pBmpInfoHdr->biHeight/2; 702 702 GetZoomedPos(&pos); 703 BitBlt(hdc,0,0,pos.x,pos.y,MdiInfo[WndNum] .MdiIconEditInfo->memdc,0,0,SRCCOPY);703 BitBlt(hdc,0,0,pos.x,pos.y,MdiInfo[WndNum]->MdiIconEditInfo->memdc,0,0,SRCCOPY); 704 704 705 705 … … 735 735 RECT rect; 736 736 737 rect.left=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left*PIXEL_WIDTH+ZOOMED_XPOS;738 rect.top=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top*PIXEL_WIDTH;739 rect.right=(MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right+1)*PIXEL_WIDTH+ZOOMED_XPOS+1;740 rect.bottom=(MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom+1)*PIXEL_WIDTH+1;737 rect.left=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left*PIXEL_WIDTH+ZOOMED_XPOS; 738 rect.top=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top*PIXEL_WIDTH; 739 rect.right=(MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right+1)*PIXEL_WIDTH+ZOOMED_XPOS+1; 740 rect.bottom=(MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom+1)*PIXEL_WIDTH+1; 741 741 742 742 SetBkMode(hdc,TRANSPARENT); … … 810 810 COLORREF *pSelectingBuffer; 811 811 812 GetObject(MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap);812 GetObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp,sizeof(BITMAP),&Bitmap); 813 813 pSelectingBuffer=(COLORREF *)HeapAlloc(hHeap,0,Bitmap.bmWidth*Bitmap.bmHeight*sizeof(COLORREF)); 814 814 SelectingBitmapInfo.bmiHeader.biSize=sizeof(BITMAPINFOHEADER); … … 818 818 SelectingBitmapInfo.bmiHeader.biBitCount=32; 819 819 SelectingBitmapInfo.bmiHeader.biCompression=BI_RGB; 820 GetDIBits(MdiInfo[WndNum] .MdiIconEditInfo->memdc,821 MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp,820 GetDIBits(MdiInfo[WndNum]->MdiIconEditInfo->memdc, 821 MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp, 822 822 0,Bitmap.bmHeight, 823 823 pSelectingBuffer,&SelectingBitmapInfo,DIB_RGB_COLORS); … … 855 855 RECT rect; 856 856 857 pos.x=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left;858 pos.y=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top;857 pos.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left; 858 pos.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top; 859 859 GetZoomedPos(&pos); 860 860 rect.left=pos.x; 861 861 rect.top=pos.y; 862 pos.x=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right+1;863 pos.y=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom+1;862 pos.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right+1; 863 pos.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom+1; 864 864 GetZoomedPos(&pos); 865 865 rect.right=pos.x; … … 878 878 POINT pos; 879 879 880 size.cx=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.left;881 size.cy=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum].MdiIconEditInfo->DraggingRect.top;882 hDC2=CreateCompatibleDC(MdiInfo[WndNum] .MdiIconEditInfo->memdc);883 SelectObject(hDC2,MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp);880 size.cx=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left; 881 size.cy=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom-MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top; 882 hDC2=CreateCompatibleDC(MdiInfo[WndNum]->MdiIconEditInfo->memdc); 883 SelectObject(hDC2,MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp); 884 884 BitBlt(hdc, 885 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left,886 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top,885 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left, 886 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top, 887 887 size.cx,size.cy, 888 888 hDC2,0,0,SRCCOPY); … … 890 890 891 891 //拡大選択イメージを表示 892 pos.x=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left;893 pos.y=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top;892 pos.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left; 893 pos.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top; 894 894 DrawZoomedBitmap(hdc,WndNum,&pos); 895 895 } … … 1140 1140 if(message==WM_LBUTTONDOWN){ 1141 1141 dwDrag=1; 1142 MainClrRef=MdiInfo[WndNum] .MdiIconEditInfo->MainColor;1143 SubClrRef=MdiInfo[WndNum] .MdiIconEditInfo->SubColor;1142 MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor; 1143 SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor; 1144 1144 } 1145 1145 else{ 1146 1146 dwDrag=2; 1147 MainClrRef=MdiInfo[WndNum] .MdiIconEditInfo->SubColor;1148 SubClrRef=MdiInfo[WndNum] .MdiIconEditInfo->MainColor;1149 } 1150 1151 if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){1147 MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor; 1148 SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor; 1149 } 1150 1151 if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){ 1152 1152 if(dwDrag==2){ 1153 1153 dwDrag=0; … … 1156 1156 } 1157 1157 1158 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel){1158 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel){ 1159 1159 NowDragging=IconEdit_GetStateOfDraggingFrame(WndNum,LOWORD(lParam),HIWORD(lParam)); 1160 1160 if(NowDragging==0){ 1161 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==1){1162 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=0;1161 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1){ 1162 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=0; 1163 1163 InvalidateRect(hwnd,NULL,0); 1164 1164 } 1165 else if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==2)1165 else if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2) 1166 1166 IconEdit_PasteImage(WndNum); 1167 1167 … … 1169 1169 } 1170 1170 else if(NowDragging==FRAME_INSIDE){ 1171 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==1){1171 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1){ 1172 1172 IconEdit_SelectImage(WndNum); 1173 IconEdit_EraseRect(WndNum,&MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect);1173 IconEdit_EraseRect(WndNum,&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect); 1174 1174 } 1175 1175 1176 OldRect=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect;1176 OldRect=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect; 1177 1177 } 1178 1178 } … … 1185 1185 InvalidateRect(hwnd,NULL,0); 1186 1186 } 1187 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_PEN){1187 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_PEN){ 1188 1188 //変更情報 1189 1189 IconEdit_NoticeChanging(WndNum); … … 1201 1201 SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_PEN))); 1202 1202 } 1203 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILL){1203 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILL){ 1204 1204 //変更情報 1205 1205 IconEdit_NoticeChanging(WndNum); … … 1216 1216 SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_FILL))); 1217 1217 } 1218 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_LINE||1219 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE||1220 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT||1221 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2||1222 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){1218 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE|| 1219 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE|| 1220 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT|| 1221 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2|| 1222 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){ 1223 1223 hdc=GetDC(hwnd); 1224 1224 TempLine(hdc,WndNum,pos.x,pos.y,pos.x,pos.y,MainClrRef); … … 1242 1242 1243 1243 if(dwDrag==1){ 1244 MainClrRef=MdiInfo[WndNum] .MdiIconEditInfo->MainColor;1245 SubClrRef=MdiInfo[WndNum] .MdiIconEditInfo->SubColor;1244 MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor; 1245 SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor; 1246 1246 } 1247 1247 else{ 1248 MainClrRef=MdiInfo[WndNum] .MdiIconEditInfo->SubColor;1249 SubClrRef=MdiInfo[WndNum] .MdiIconEditInfo->MainColor;1248 MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor; 1249 SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor; 1250 1250 } 1251 1251 … … 1254 1254 1255 1255 bRedrawMemBmp=0; 1256 if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){1256 if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){ 1257 1257 if(NowDragging==SELECTING_FRAME){ 1258 1258 if(LastPos.x==pos.x&&LastPos.y==pos.y){ … … 1265 1265 rect.bottom=pos.y; 1266 1266 1267 RectNaturalFormat(&rect,&MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect);1268 LimitRectFormat(WndNum,&MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect);1269 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=1;1267 RectNaturalFormat(&rect,&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect); 1268 LimitRectFormat(WndNum,&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect); 1269 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=1; 1270 1270 InvalidateRect(hwnd,NULL,0); 1271 1271 } … … 1273 1273 InvalidateRect(hwnd,NULL,0); 1274 1274 } 1275 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_LINE){1275 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE){ 1276 1276 //変更情報 1277 1277 IconEdit_NoticeChanging(WndNum); … … 1281 1281 bRedrawMemBmp=1; 1282 1282 } 1283 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){1283 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){ 1284 1284 //変更情報 1285 1285 IconEdit_NoticeChanging(WndNum); … … 1289 1289 bRedrawMemBmp=1; 1290 1290 } 1291 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){1291 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){ 1292 1292 //変更情報 1293 1293 IconEdit_NoticeChanging(WndNum); … … 1299 1299 bRedrawMemBmp=1; 1300 1300 } 1301 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){1301 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){ 1302 1302 //変更情報 1303 1303 IconEdit_NoticeChanging(WndNum); … … 1309 1309 bRedrawMemBmp=1; 1310 1310 } 1311 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){1311 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){ 1312 1312 //変更情報 1313 1313 IconEdit_NoticeChanging(WndNum); … … 1337 1337 1338 1338 if(dwDrag==1){ 1339 MainClrRef=MdiInfo[WndNum] .MdiIconEditInfo->MainColor;1340 SubClrRef=MdiInfo[WndNum] .MdiIconEditInfo->SubColor;1339 MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor; 1340 SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor; 1341 1341 } 1342 1342 else{ 1343 MainClrRef=MdiInfo[WndNum] .MdiIconEditInfo->SubColor;1344 SubClrRef=MdiInfo[WndNum] .MdiIconEditInfo->MainColor;1343 MainClrRef=MdiInfo[WndNum]->MdiIconEditInfo->SubColor; 1344 SubClrRef=MdiInfo[WndNum]->MdiIconEditInfo->MainColor; 1345 1345 } 1346 1346 1347 1347 if(dwDrag){ 1348 if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){1348 if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){ 1349 1349 if(NowDragging==SELECTING_FRAME){ 1350 1350 //範囲選択中 … … 1361 1361 dx=pos.x-LastPos.x; 1362 1362 dy=pos.y-LastPos.y; 1363 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left+=dx;1364 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right+=dx;1365 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top+=dy;1366 MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom+=dy;1363 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left+=dx; 1364 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right+=dx; 1365 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top+=dy; 1366 MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom+=dy; 1367 1367 LastPos=pos; 1368 1368 … … 1376 1376 1377 1377 hRgn=CreateRectRgnIndirect(&OldRect); 1378 hRgn2=CreateRectRgnIndirect(&MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect);1378 hRgn2=CreateRectRgnIndirect(&MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect); 1379 1379 CombineRgn(hRgn,hRgn,hRgn2,RGN_XOR); 1380 1380 DeleteObject(hRgn2); … … 1394 1394 DeleteObject(hRgn2); 1395 1395 1396 p2.x=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.left;1397 p2.y=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.top;1396 p2.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.left; 1397 p2.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.top; 1398 1398 GetZoomedPos(&p2); 1399 1399 rect.left=p2.x; 1400 1400 rect.top=p2.y; 1401 p2.x=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.right;1402 p2.y=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect.bottom;1401 p2.x=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.right; 1402 p2.y=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect.bottom; 1403 1403 GetZoomedPos(&p2); 1404 1404 rect.right=p2.x+1; … … 1415 1415 ReleaseDC(hwnd,hdc); 1416 1416 1417 OldRect=MdiInfo[WndNum] .MdiIconEditInfo->DraggingRect;1417 OldRect=MdiInfo[WndNum]->MdiIconEditInfo->DraggingRect; 1418 1418 } 1419 1419 } 1420 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_PEN){1420 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_PEN){ 1421 1421 if(abs(pos.x-LastPos.x)>1||abs(pos.y-LastPos.y)>1){ 1422 1422 IconEdit_DrawLine(WndNum,LastPos.x,LastPos.y,pos.x,pos.y,GetColorCode(WndNum,MainClrRef)); … … 1442 1442 LastPos=pos; 1443 1443 } 1444 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_LINE){1444 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE){ 1445 1445 InvalidateRect(hwnd,NULL,0); 1446 1446 UpdateWindow(hwnd); … … 1450 1450 ReleaseDC(hwnd,hdc); 1451 1451 } 1452 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){1452 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE){ 1453 1453 InvalidateRect(hwnd,NULL,0); 1454 1454 UpdateWindow(hwnd); … … 1458 1458 ReleaseDC(hwnd,hdc); 1459 1459 } 1460 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){1460 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT){ 1461 1461 InvalidateRect(hwnd,NULL,0); 1462 1462 UpdateWindow(hwnd); … … 1468 1468 ReleaseDC(hwnd,hdc); 1469 1469 } 1470 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){1470 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2){ 1471 1471 InvalidateRect(hwnd,NULL,0); 1472 1472 UpdateWindow(hwnd); … … 1478 1478 ReleaseDC(hwnd,hdc); 1479 1479 } 1480 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){1480 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){ 1481 1481 InvalidateRect(hwnd,NULL,0); 1482 1482 UpdateWindow(hwnd); … … 1489 1489 else{ 1490 1490 //ドラッグ中でないとき 1491 if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){1492 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel)1491 if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_SELECT){ 1492 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel) 1493 1493 SetCursorByState(IconEdit_GetStateOfDraggingFrame(WndNum,LOWORD(lParam),HIWORD(lParam))); 1494 1494 else 1495 1495 SetCursor(LoadCursor(NULL,IDC_CROSS)); 1496 1496 } 1497 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_PEN)1497 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_PEN) 1498 1498 SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_PEN))); 1499 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILL)1499 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILL) 1500 1500 SetCursor(LoadCursor(hResInst,MAKEINTRESOURCE(IDC_CURSOR_FILL))); 1501 else if(MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_LINE||1502 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE||1503 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT||1504 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2||1505 MdiInfo[WndNum] .MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){1501 else if(MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_LINE|| 1502 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_RECTANGLE|| 1503 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT|| 1504 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_FILLRECT2|| 1505 MdiInfo[WndNum]->MdiIconEditInfo->NowTool==IDC_TOOL_ELLIPSE){ 1506 1506 SetCursor(LoadCursor(NULL,IDC_CROSS)); 1507 1507 } … … 1512 1512 case VK_ESCAPE: 1513 1513 WndNum=GetWndNum(GetParent(hwnd)); 1514 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==2){1515 DeleteObject(MdiInfo[WndNum] .MdiIconEditInfo->hSelectingBmp);1516 MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel=0;1514 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2){ 1515 DeleteObject(MdiInfo[WndNum]->MdiIconEditInfo->hSelectingBmp); 1516 MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel=0; 1517 1517 } 1518 1518 InvalidateRect(hwnd,NULL,0); … … 1526 1526 WndNum=GetWndNum(GetParent(hwnd)); 1527 1527 BITMAPINFOHEADER *pBmpInfoHdr; 1528 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum] .MdiIconEditInfo->pIconImage[MdiInfo[WndNum].MdiIconEditInfo->SelectIconNum];1528 pBmpInfoHdr=(BITMAPINFOHEADER *)MdiInfo[WndNum]->MdiIconEditInfo->pIconImage[MdiInfo[WndNum]->MdiIconEditInfo->SelectIconNum]; 1529 1529 1530 1530 hdc=BeginPaint(hwnd,&ps); … … 1537 1537 size.cx, 1538 1538 size.cy, 1539 MdiInfo[WndNum] .MdiIconEditInfo->memdc,0,0,SRCCOPY);1539 MdiInfo[WndNum]->MdiIconEditInfo->memdc,0,0,SRCCOPY); 1540 1540 1541 1541 HBRUSH hOldBrush; … … 1550 1550 PATCOPY); 1551 1551 1552 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==1)1552 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==1) 1553 1553 IconEdit_DrawSelectingRect(hdc,WndNum); 1554 if(MdiInfo[WndNum] .MdiIconEditInfo->SelectLevel==2){1554 if(MdiInfo[WndNum]->MdiIconEditInfo->SelectLevel==2){ 1555 1555 DrawSelectingImage(hdc,WndNum); 1556 1556 if(dwDrag==0) IconEdit_DrawSelectingRect(hdc,WndNum);
Note:
See TracChangeset
for help on using the changeset viewer.