@@ -651,8 +651,6 @@ void CRecorderView::OnPaint()
651
651
dcBits.CreateCompatibleDC (&dc);
652
652
CBitmap bitmap;
653
653
654
- TRACE ( _T (" ## CRecorderView::OnPaint / rectClient.Width()=%d\n " ) , rectClient.Width () );
655
-
656
654
bitmap.CreateCompatibleBitmap (&dc, rectClient.Width (), rectClient.Height ());
657
655
CBitmap *pOldBitmap = dcBits.SelectObject (&bitmap);
658
656
@@ -1224,87 +1222,88 @@ void CRecorderView::OnRecord()
1224
1222
fActualRate = 0.0 ;
1225
1223
fTimeLength = 0.0 ;
1226
1224
1227
- // HIER_BEN_IK
1228
- // Todo: Sizing van rc checked. One pixel gets dropped: 100x100 => 99x99
1229
- TRACE (" ## Here it possible goed wrong with the sizing\n " );
1225
+ // r272: How we define rect cshecked and changed because some pixel gots dropped: 100x100 => 99x99
1226
+ // rcUse is the rect that will be used in the end to define the size of the recording.
1227
+ // BTW. rcUse is also used to store previous values.
1228
+ // A Full screen area is 0, 0 to MaxX-1, MaxY-1
1230
1229
1230
+ // TRACE( _T("## CRecorderView::OnRecord /CAPTURE_FIXED/ before / cRegionOpts / T=%d, L=%d, B=.. , R=.. , W=%d, H=%d \n"), cRegionOpts.m_iCaptureTop, cRegionOpts.m_iCaptureLeft, cRegionOpts.m_iCaptureWidth, cRegionOpts.m_iCaptureHeight );
1231
1231
switch (cRegionOpts.m_iMouseCaptureMode )
1232
1232
{
1233
1233
case CAPTURE_FIXED:
1234
+ // Applicable when Option region is set as 'Fixed Region'
1235
+
1236
+
1237
+ rc = CRect (cRegionOpts.m_iCaptureTop ,
1238
+ cRegionOpts.m_iCaptureLeft ,
1239
+ cRegionOpts.m_iCaptureLeft + cRegionOpts.m_iCaptureWidth - 1 ,
1240
+ cRegionOpts.m_iCaptureTop + cRegionOpts.m_iCaptureHeight - 1 );
1241
+
1242
+ // TRACE( _T("## CRecorderView::OnRecord /CAPTURE_FIXED/ before / rc / T=%d, L=%d, B=%d, R=%d \n"), rc.top, rc.left, rc.bottom, rc.right );
1243
+
1234
1244
if (cRegionOpts.m_bFixedCapture ) {
1235
- // Full screan area : 0:0 to MaxX-1:MaxY-1
1236
- rc.top = cRegionOpts.m_iCaptureTop ;
1237
- rc.left = cRegionOpts.m_iCaptureLeft ;
1238
- rc.right = cRegionOpts.m_iCaptureLeft + cRegionOpts.m_iCaptureWidth - 1 ;
1239
- rc.bottom = cRegionOpts.m_iCaptureTop + cRegionOpts.m_iCaptureHeight - 1 ;
1240
- // TODOMON 0s are no good anymore .. compare to minx / miny
1241
- if (rc.top < 0 )
1245
+ // Applicable when Option region is set as 'Fixed Region' and retangle offset is fixed either.
1246
+
1247
+ // I don't expect that code below is ever invoked...! Hence, dead code
1248
+ if (rc.top < 0 ) {
1249
+ TRACE ( _T (" ## CRecorderView::OnRecord rc.top<0 [%d]\n " ), rc.top );
1242
1250
rc.top = 0 ;
1243
- if (rc.left < 0 )
1251
+ }
1252
+ if (rc.left < 0 ) {
1253
+ TRACE ( _T (" ## CRecorderView::OnRecord rc.left<0 [%d]\n " ), rc.left );
1244
1254
rc.left = 0 ;
1245
- if (maxxScreen <= rc.right )
1246
- rc.right = maxxScreen - 1 ;
1247
- if (maxyScreen <= rc.bottom )
1248
- rc.bottom = maxyScreen - 1 ;
1255
+ }
1256
+ if (maxxScreen <= rc.right ) {
1257
+ TRACE ( _T (" ## CRecorderView::OnRecord maxxScreen<rc.right [%d]\n " ), rc.right );
1258
+ rc.right = maxxScreen - 1 ; // ok
1259
+ }
1260
+ if (maxyScreen <= rc.bottom ) {
1261
+ TRACE ( _T (" ## CRecorderView::OnRecord maxyScreen<rc.bottom<0 [%d]\n " ), rc.bottom );
1262
+ rc.bottom = maxyScreen - 1 ; // ok
1263
+ }
1249
1264
1250
1265
// using protocols for iMouseCaptureMode==0
1251
1266
old_rcClip = rcClip = rc;
1252
1267
old_rcClip.NormalizeRect ();
1253
1268
rcUse = old_rcClip;
1254
1269
::PostMessage (hWndGlobal, WM_USER_RECORDSTART, 0 , (LPARAM) 0);
1255
1270
1256
- TRACE ( _T (" ## CRecorderView::OnRecord /0001/ T=%d, L=%d, B=%d, R=%d \n " ), rc.top , rc.left , rc.bottom , rc.right );
1257
- TRACE ( _T (" ## CRecorderView::OnRecord /0001/ MinX=%d, MinY=%d, MaxX=%d, MaxY=%d \n " ), minxScreen, minyScreen, maxxScreen, maxyScreen );
1258
-
1259
- } else {
1260
- rc = CRect (0 , 0 , cRegionOpts.m_iCaptureWidth , cRegionOpts.m_iCaptureHeight );
1261
- rc.right --;
1262
- rc.bottom --;
1271
+ } else {
1272
+ // Applicable when Option region is set as 'Fixed Region' but retangle offset is floating.
1273
+ // Floating Retangle. Drag the retangle first to its position...
1263
1274
1264
1275
::ShowWindow (hMouseCaptureWnd,SW_SHOW);
1265
1276
::UpdateWindow (hMouseCaptureWnd);
1266
1277
1267
1278
InitDrawShiftWindow (); // will affect rc implicity
1268
- TRACE (_T (" ## CRecorderView::OnRecord /0002/ T=%d, L=%d, B=%d, R=%d \n " ), rc.top , rc.left , rc.bottom , rc.right );
1269
- TRACE (_T (" ## CRecorderView::OnRecord /0002/ MinX=%d, MinY=%d, MaxX=%d, MaxY=%d \n " ), minxScreen, minyScreen, maxxScreen, maxyScreen );
1270
1279
}
1271
1280
break ;
1272
- case CAPTURE_VARIABLE:
1281
+ case CAPTURE_VARIABLE:
1282
+ // Applicable when Option region is set as 'Region'
1273
1283
::ShowWindow (hMouseCaptureWnd, SW_SHOW);
1274
1284
::UpdateWindow (hMouseCaptureWnd);
1275
1285
InitSelectRegionWindow (); // will affect rc implicity
1276
- TRACE (_T (" ## CRecorderView::OnRecord /0003/ T=%d, L=%d, B=%d, R=%d \n " ), rc.top , rc.left , rc.bottom , rc.right );
1277
- TRACE (_T (" ## CRecorderView::OnRecord /0003/ MinX=%d, MinY=%d, MaxX=%d, MaxY=%d \n " ), minxScreen, minyScreen, maxxScreen, maxyScreen );
1278
1286
break ;
1279
- case CAPTURE_FULLSCREEN:
1280
- m_basicMsg = new CBasicMessage ();
1281
- m_basicMsg->Create (CBasicMessage::IDD);
1282
- m_basicMsg->SetText (_T (" Click on monitor to be captured." ));
1283
- m_basicMsg->ShowWindow (SW_SHOW);
1284
- SetCapture ();
1285
- // m_basicMsg.DoModal();
1286
- TRACE (_T (" ## CRecorderView::OnRecord /0004/ T=%d, L=%d, B=%d, R=%d \n " ), rc.top , rc.left , rc.bottom , rc.right );
1287
- TRACE (_T (" ## CRecorderView::OnRecord /0004/ MinX=%d, MinY=%d, MaxX=%d, MaxY=%d \n " ), minxScreen, minyScreen, maxxScreen, maxyScreen );
1288
- break ;
1289
- case CAPTURE_ALLSCREENS:
1290
- rcUse = CRect (minxScreen, minyScreen, maxxScreen, maxyScreen);
1291
- rcUse.right --;
1292
- rcUse.bottom --;
1287
+
1288
+ case CAPTURE_ALLSCREENS:
1289
+ // Applicable when Option region is set as 'Full Screen'
1290
+ rcUse = CRect (minxScreen, minyScreen, maxxScreen - 1 , maxyScreen - 1 );
1293
1291
::PostMessage (hWndGlobal, WM_USER_RECORDSTART, 0 , (LPARAM) 0);
1294
- TRACE (_T (" ## CRecorderView::OnRecord /0005/ T=%d, L=%d, B=%d, R=%d \n " ), rc.top , rc.left , rc.bottom , rc.right );
1295
- TRACE (_T (" ## CRecorderView::OnRecord /0005/ MinX=%d, MinY=%d, MaxX=%d, MaxY=%d \n " ), minxScreen, minyScreen, maxxScreen, maxyScreen );
1296
1292
break ;
1293
+
1297
1294
case CAPTURE_WINDOW:
1295
+ case CAPTURE_FULLSCREEN:
1296
+ // Applicable when Option region is set as 'Window' and as 'Full Screen'
1298
1297
m_basicMsg = new CBasicMessage ();
1299
1298
m_basicMsg->Create (CBasicMessage::IDD);
1300
1299
m_basicMsg->SetText (_T (" Click on window to be captured." ));
1301
1300
m_basicMsg->ShowWindow (SW_SHOW);
1302
1301
// m_basicMsg.DoModal();
1303
1302
SetCapture ();
1304
- TRACE (_T (" ## CRecorderView::OnRecord /0006/ T=%d, L=%d, B=%d, R=%d \n " ), rc.top , rc.left , rc.bottom , rc.right );
1305
- TRACE (_T (" ## CRecorderView::OnRecord /0006/ MinX=%d, MinY=%d, MaxX=%d, MaxY=%d \n " ), minxScreen, minyScreen, maxxScreen, maxyScreen );
1306
1303
break ;
1307
1304
}
1305
+ // TRACE(_T("## CRecorderView::OnRecord / after / rc / T=%d, L=%d, B=%d, R=%d \n"), rc.top, rc.left, rc.bottom, rc.right );
1306
+ // TRACE(_T("## CRecorderView::OnRecord / after / MinX=%d, MinY=%d, MaxX=%d, MaxY=%d \n"), minxScreen, minyScreen, maxxScreen, maxyScreen );
1308
1307
}
1309
1308
1310
1309
void CRecorderView::OnStop ()
@@ -3726,16 +3725,10 @@ UINT CRecorderView::RecordVideo()
3726
3725
strTempVideoAviFilePath.Format (" %s\\ %s-%s-%d.%s" , (LPCSTR)csTempFolder, TEMPFILETAGINDICATOR, (LPCSTR)csStartTime, rand (), " avi" );
3727
3726
}
3728
3727
}
3729
- // TRACE("## CRecorderView::RecordAVIThread Final Temp.Avi file=[%s]\n", strTempVideoAviFilePath.GetString() );
3730
-
3731
- // int top = rcUse.top;
3732
- // int left = rcUse.left;
3733
- // int width = rcUse.right - rcUse.left + 1;
3734
- // int height = rcUse.bottom - rcUse.top + 1;
3735
- // int fps = cVideoOpts.m_iFramesPerSecond;
3728
+ // TRACE(_T("## CRecorderView::RecordAVIThread Final Temp.Avi file=[%s]\n"), strTempVideoAviFilePath.GetString() );
3729
+ // TRACE(_T("## CRecorderView::RecordVideo rcUse / T=%d, L=%d, B=%d, R=%d \n"), rcUse.top, rcUse.left, rcUse.bottom, rcUse.right );
3736
3730
3737
3731
return RecordVideo (rcUse, cVideoOpts.m_iFramesPerSecond , strTempVideoAviFilePath) ? 0UL : 1UL ;
3738
- // return RecordVideo(top, left, width, height, fps, strTempVideoAviFilePath) ? 0UL : 1UL;
3739
3732
}
3740
3733
3741
3734
// ///////////////////////////////////////////////////////////////////////////
@@ -4146,7 +4139,8 @@ bool CRecorderView::RecordVideo(CRect rectFrame, int fps, const char *szVideoFil
4146
4139
// }
4147
4140
// }
4148
4141
4149
- if ((0 == frametime) || (oldframetime < frametime)) {
4142
+
4143
+ if ( ( frametime == 0 ) || ( oldframetime < frametime ) ) {
4150
4144
// ver 1.8
4151
4145
// if (iShiftType == 1) {
4152
4146
// if (frametime == 0) {
0 commit comments