diff options
Diffstat (limited to 'recordmydesktop/src/make_dummy_pointer.c')
| -rw-r--r-- | recordmydesktop/src/make_dummy_pointer.c | 68 | 
1 files changed, 68 insertions, 0 deletions
| diff --git a/recordmydesktop/src/make_dummy_pointer.c b/recordmydesktop/src/make_dummy_pointer.c new file mode 100644 index 0000000..0ab0306 --- /dev/null +++ b/recordmydesktop/src/make_dummy_pointer.c @@ -0,0 +1,68 @@ +/********************************************************************************* +*                             recordMyDesktop                                    * +********************************************************************************** +*                                                                                * +*             Copyright (C) 2006  John Varouhakis                                * +*                                                                                * +*                                                                                * +*    This program is free software; you can redistribute it and/or modify        * +*    it under the terms of the GNU General Public License as published by        * +*    the Free Software Foundation; either version 2 of the License, or           * +*    (at your option) any later version.                                         * +*                                                                                * +*    This program is distributed in the hope that it will be useful,             * +*    but WITHOUT ANY WARRANTY; without even the implied warranty of              * +*    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the               * +*    GNU General Public License for more details.                                * +*                                                                                * +*    You should have received a copy of the GNU General Public License           * +*    along with this program; if not, write to the Free Software                 * +*    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA   * +*                                                                                * +*                                                                                * +*                                                                                * +*    For further information contact me at biocrasher@gmail.com                  * +**********************************************************************************/ + + +#include <recordmydesktop.h> + +unsigned char *MakeDummyPointer(DisplaySpecs *specs,int size,int color,int type,unsigned char *npxl){ +    int i,k,o='.'; +    unsigned long   w=(color)?1:-1, +                    b=(color)?-1:1; +    char pmask[1][16][16]={{ +        {w,w,w,w,w,w,o,o,o,o,o,o,o,o,o,o}, +        {w,b,b,w,w,w,w,o,o,o,o,o,o,o,o,o}, +        {w,b,b,b,w,w,w,w,o,o,o,o,o,o,o,o}, +        {w,b,b,b,b,w,w,w,w,o,o,o,o,o,o,o}, +        {w,b,b,b,b,b,w,w,w,w,o,o,o,o,o,o}, +        {w,b,b,b,b,b,b,w,w,w,w,o,o,o,o,o}, +        {w,b,b,b,b,b,b,b,w,w,w,w,o,o,o,o}, +        {w,b,b,b,b,b,b,b,b,w,w,w,w,o,o,o}, +        {w,b,b,b,b,b,b,b,b,b,w,w,w,w,o,o}, +        {w,b,b,b,b,b,b,b,b,b,b,w,w,w,w,o}, +        {w,b,b,b,b,b,b,b,b,w,w,w,w,o,o,o}, +        {w,b,b,b,b,b,b,b,b,w,w,w,w,o,o,o}, +        {w,w,w,w,w,b,b,b,b,b,w,w,w,o,o,o}, +        {w,w,w,w,w,w,b,b,b,b,w,w,w,o,o,o}, +        {o,o,o,o,o,w,w,b,b,b,w,w,w,o,o,o}, +        {o,o,o,o,o,o,w,w,w,w,w,w,w,o,o,o}} +    }; + + +    unsigned char *ret=malloc(size*sizeof(char[size*4])); +    unsigned char wp[4]={255,255,255,255}; +    unsigned char bp[4]={0,0,0,0}; +    *npxl=((wp[0]-1)!=bp[0])?wp[0]-100:wp[0]-102; +    for(i=0;i<size;i++){ +        for(k=0;k<size;k++){ +            ret[(i*size+k)*4]=(pmask[type][i][k]==1)?wp[0]:(pmask[type][i][k]==-1)?bp[0]:*npxl; +            ret[(i*size+k)*4+1]=(pmask[type][i][k]==1)?wp[1]:(pmask[type][i][k]==-1)?bp[1]:*npxl; +            ret[(i*size+k)*4+2]=(pmask[type][i][k]==1)?wp[2]:(pmask[type][i][k]==-1)?bp[2]:*npxl; +            ret[(i*size+k)*4+3]=(pmask[type][i][k]==1)?wp[3]:(pmask[type][i][k]==-1)?bp[3]:*npxl; +        } +    } +     +    return ret; +} | 
