summaryrefslogtreecommitdiff
path: root/nuttx/graphics/nxtk/nxtk_subwindowmove.c
diff options
context:
space:
mode:
authorpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-12-07 16:00:56 +0000
committerpatacongo <patacongo@42af7a65-404d-4744-a932-0658087f49c3>2012-12-07 16:00:56 +0000
commit3c5cba9b94c3f5365034f044e18a58d425508c87 (patch)
treec29f3db20b8275cd22e7c4d36c3d722f2fdf6277 /nuttx/graphics/nxtk/nxtk_subwindowmove.c
parent73bf549bd5a335d66ef80e50b551d356386facad (diff)
downloadpx4-nuttx-3c5cba9b94c3f5365034f044e18a58d425508c87.tar.gz
px4-nuttx-3c5cba9b94c3f5365034f044e18a58d425508c87.tar.bz2
px4-nuttx-3c5cba9b94c3f5365034f044e18a58d425508c87.zip
Patches from Petteri Aimonen + stdbool and rand() changes for Freddie Chopin
git-svn-id: svn://svn.code.sf.net/p/nuttx/code/trunk@5415 42af7a65-404d-4744-a932-0658087f49c3
Diffstat (limited to 'nuttx/graphics/nxtk/nxtk_subwindowmove.c')
-rw-r--r--nuttx/graphics/nxtk/nxtk_subwindowmove.c12
1 files changed, 5 insertions, 7 deletions
diff --git a/nuttx/graphics/nxtk/nxtk_subwindowmove.c b/nuttx/graphics/nxtk/nxtk_subwindowmove.c
index a6fd9f5dd..3c2bb7f37 100644
--- a/nuttx/graphics/nxtk/nxtk_subwindowmove.c
+++ b/nuttx/graphics/nxtk/nxtk_subwindowmove.c
@@ -112,21 +112,19 @@ void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd,
nxgl_rectintersect(&abssrc, &abssrc, &fwnd->fwrect);
- /* Clip the offset so that the source rectangle does not move out of the
- * the client sub-window.
- */
+ /* Clip the source rectangle so that destination area is within the window. */
destoffset->x = srcoffset->x;
if (destoffset->x < 0)
{
if (abssrc.pt1.x + destoffset->x < bounds->pt1.x)
{
- destoffset->x = bounds->pt1.x - abssrc.pt1.x;
+ abssrc.pt1.x = bounds->pt1.x - destoffset->x;
}
}
else if (abssrc.pt2.x + destoffset->x > bounds->pt2.x)
{
- destoffset->x = bounds->pt2.x - abssrc.pt2.x;
+ abssrc.pt2.x = bounds->pt2.x - destoffset->x;
}
destoffset->y = srcoffset->y;
@@ -134,12 +132,12 @@ void nxtk_subwindowmove(FAR struct nxtk_framedwindow_s *fwnd,
{
if (abssrc.pt1.y + destoffset->y < bounds->pt1.y)
{
- destoffset->y = bounds->pt1.y - abssrc.pt1.y;
+ abssrc.pt1.y = bounds->pt1.y - destoffset->y;
}
}
else if (abssrc.pt2.y + destoffset->y > bounds->pt2.y)
{
- destoffset->y = bounds->pt2.y - abssrc.pt2.y;
+ abssrc.pt2.y = bounds->pt2.y - destoffset->y;
}