285 offsetRect.Move( ptLayout ); |
285 offsetRect.Move( ptLayout ); |
286 |
286 |
287 switch( aDisPostion ) |
287 switch( aDisPostion ) |
288 { |
288 { |
289 case EDispBottomRight: |
289 case EDispBottomRight: |
290 rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup ); |
290 rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iBr.iY ), szPopup ); |
291 if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight ) |
291 if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight ) |
292 { |
292 { |
293 //we need move x also |
293 rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY ); |
294 rtPopup.Move( aOffsetRect.Width(), |
294 } |
295 ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY ); |
|
296 } |
|
297 if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth ) |
295 if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth ) |
298 { |
296 { |
299 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 ); |
297 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 ); |
300 } |
298 } |
301 break; |
299 break; |
302 case EDispBottomLeft: |
300 case EDispBottomLeft: |
303 rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, offsetRect.iBr.iY), |
301 rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, offsetRect.iBr.iY), |
304 szPopup ); |
302 szPopup ); |
305 if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight ) |
303 if( rtPopup.iBr.iY > ptScreenSize.iPixelSize.iHeight ) |
306 { |
304 { |
307 //we need move x also |
305 //we need move the pop wnd up to ensure it not to be out of screen |
308 rtPopup.Move( aOffsetRect.Width(), |
306 rtPopup.Move( 0, ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY ); |
309 ptScreenSize.iPixelSize.iHeight - rtPopup.iBr.iY ); |
|
310 } |
307 } |
311 if( rtPopup.iTl.iX < 0 ) |
308 if( rtPopup.iTl.iX < 0 ) |
312 { |
309 { |
313 rtPopup.Move ( -rtPopup.iTl.iX, 0 ); |
310 rtPopup.Move ( -rtPopup.iTl.iX, 0 ); |
314 } |
311 } |
315 break; |
312 break; |
316 case EDispTopRight: |
313 case EDispTopRight: |
317 rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iTl.iY - szPopup.iHeight ), |
314 rtPopup.SetRect( TPoint( offsetRect.iTl.iX, offsetRect.iTl.iY - szPopup.iHeight ), |
318 szPopup ); |
315 szPopup ); |
319 if( rtPopup.iTl.iY < 0 ) |
316 if( rtPopup.iTl.iY < 0 ) |
320 { |
317 { |
321 rtPopup.Move ( aOffsetRect.Width(), -rtPopup.iTl.iY ); |
318 rtPopup.Move ( 0, -rtPopup.iTl.iY ); |
322 } |
319 } |
323 if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth ) |
320 if(rtPopup.iBr.iX > ptScreenSize.iPixelSize.iWidth ) |
324 { |
321 { |
325 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 ); |
322 rtPopup.Move ( ptScreenSize.iPixelSize.iWidth - rtPopup.iBr.iX, 0 ); |
326 } |
323 } |
327 |
324 |
330 rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, |
327 rtPopup.SetRect( TPoint( offsetRect.iBr.iX - szPopup.iWidth, |
331 offsetRect.iTl.iY - szPopup.iHeight ), szPopup ); |
328 offsetRect.iTl.iY - szPopup.iHeight ), szPopup ); |
332 |
329 |
333 if( rtPopup.iTl.iY < 0 ) |
330 if( rtPopup.iTl.iY < 0 ) |
334 { |
331 { |
335 rtPopup.Move ( -aOffsetRect.Width(), -rtPopup.iTl.iY ); |
332 rtPopup.Move ( 0, -rtPopup.iTl.iY ); |
336 } |
333 } |
337 |
334 |
338 if( rtPopup.iTl.iX < 0 ) |
335 if( rtPopup.iTl.iX < 0 ) |
339 { |
336 { |
340 rtPopup.Move ( -rtPopup.iTl.iX, 0 ); |
337 rtPopup.Move ( -rtPopup.iTl.iX, 0 ); |