summaryrefslogtreecommitdiff
path: root/recordmydesktop/src
diff options
context:
space:
mode:
authorenselic <enselic@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2008-09-12 23:12:41 +0000
committerenselic <enselic@f606c939-3180-4ac9-a4b8-4b8779d57d0a>2008-09-12 23:12:41 +0000
commitac3ce74511a9953ae22fd6a1f77f8e969bb99922 (patch)
tree86036a5b98bc63f85c2cdbe79cf2dcf3eaca9a31 /recordmydesktop/src
parent4c387338ef2fced0aa667b199ce9e45ce74907bf (diff)
include/rmdfunc.h
src/rectinsert.c: Remove BlocksFromList() to get rid of dependencies. We now only depend on rmdtypes.h in rectinsert.c. src/get_frame.c: BlocksFromList() makes more sense to keep as a static function here. git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@517 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'recordmydesktop/src')
-rw-r--r--recordmydesktop/src/get_frame.c54
-rw-r--r--recordmydesktop/src/rectinsert.c41
2 files changed, 54 insertions, 41 deletions
diff --git a/recordmydesktop/src/get_frame.c b/recordmydesktop/src/get_frame.c
index 8de95aa..ab8ff9a 100644
--- a/recordmydesktop/src/get_frame.c
+++ b/recordmydesktop/src/get_frame.c
@@ -250,7 +250,59 @@ void MoveCaptureArea( BRWindow *brwin,
height-brwin->rgeom.height:t_y);
}
-
+/**
+* Extract cache blocks from damage list
+*
+* \param root Root entry of the list with damaged areas
+*
+* \param x_offset left x of the recording area
+*
+* \param x_offset upper y of the recording area
+*
+* \param blocknum_x Width of image in blocks
+*
+* \param blocknum_y Height of image in blocks
+*/
+void BlocksFromList (RectArea **root,
+ unsigned int x_offset,
+ unsigned int y_offset,
+ unsigned int blocknum_x,
+ unsigned int blocknum_y) {
+
+ RectArea *temp;
+ unsigned int i,
+ j,
+ blockno,
+ row_start,
+ row_end,
+ column_start,
+ column_end;
+
+ temp = *root;
+
+ for (i = 0; i < blocknum_x * blocknum_y; i++) {
+ yblocks[i] = ublocks[i] = vblocks[i] = 0;
+ }
+
+ while (temp != NULL) {
+
+ column_start = (temp->geom.x - x_offset) / Y_UNIT_WIDTH;
+ column_end = (temp->geom.x + (temp->geom.width - 1) - x_offset) / Y_UNIT_WIDTH;
+ row_start = (temp->geom.y - y_offset) / Y_UNIT_WIDTH;
+ row_end = (temp->geom.y + (temp->geom.height - 1) - y_offset) / Y_UNIT_WIDTH;
+
+ for (i = row_start; i < row_end + 1; i++) {
+ for (j = column_start; j < column_end + 1; j++) {
+ blockno = i * blocknum_x + j;
+ yblocks[blockno] = 1;
+ ublocks[blockno] = 1;
+ vblocks[blockno] = 1;
+ }
+ }
+
+ temp = temp->next;
+ }
+}
void *GetFrame(ProgData *pdata){
int i=0,
diff --git a/recordmydesktop/src/rectinsert.c b/recordmydesktop/src/rectinsert.c
index 61e931e..5e31a32 100644
--- a/recordmydesktop/src/rectinsert.c
+++ b/recordmydesktop/src/rectinsert.c
@@ -25,7 +25,7 @@
******************************************************************************/
-#include "recordmydesktop.h"
+#include "rmdtypes.h"
#include "rectinsert.h"
@@ -532,42 +532,3 @@ void ClearList(RectArea **root){
*root=NULL;
}
}
-
-void BlocksFromList(RectArea **root,
- unsigned int x_offset,
- unsigned int y_offset,
- unsigned int blocknum_x,
- unsigned int blocknum_y){
-
- RectArea *temp;
- unsigned int i,
- j,
- blockno,
- row_start,
- row_end,
- column_start,
- column_end;
- temp=*root;
- for(i=0;i<blocknum_x*blocknum_y;i++){
- yblocks[i]=ublocks[i]=vblocks[i]=0;
- }
-
- while(temp!=NULL){
- column_start=(temp->geom.x-x_offset)/Y_UNIT_WIDTH;
- column_end=(temp->geom.x+(temp->geom.width-1)-x_offset)/Y_UNIT_WIDTH;
- row_start=(temp->geom.y-y_offset)/Y_UNIT_WIDTH;
- row_end=(temp->geom.y+(temp->geom.height-1)-y_offset)/Y_UNIT_WIDTH;
- for(i=row_start;i<row_end+1;i++){
- for(j=column_start;j<column_end+1;j++){
- blockno=i*blocknum_x+j;
- yblocks[blockno]=1;
- ublocks[blockno]=1;
- vblocks[blockno]=1;
- }
- }
- temp=temp->next;
- }
-
-}
-
-
© All Rights Reserved