diff options
| author | enselic <enselic@f606c939-3180-4ac9-a4b8-4b8779d57d0a> | 2008-09-13 21:35:43 +0000 | 
|---|---|---|
| committer | enselic <enselic@f606c939-3180-4ac9-a4b8-4b8779d57d0a> | 2008-09-13 21:35:43 +0000 | 
| commit | 2cf3c4864635a5761c5a9f45857abeb9ac363dcd (patch) | |
| tree | 62a436d611485195a5f2c554e0741d45972879c5 /recordmydesktop/src/rmdmacro.h | |
| parent | 700ec4aebc1ea833b2f7b50bff3aba119913b355 (diff) | |
include/rmdmacro.h
include/rmdtypes.h
include/skeleton.h
include/recordmydesktop.h: Moved from here
src/rmdmacro.h
src/rmdtypes.h
src/skeleton.h
src/recordmydesktop.h: to here.
include
include/Makefile.am: Removed, no need for a separate include dir.
Makefile.am
configure.ac
src/Makefile.am: Adjusted accordingly.
git-svn-id: https://recordmydesktop.svn.sourceforge.net/svnroot/recordmydesktop/trunk@539 f606c939-3180-4ac9-a4b8-4b8779d57d0a
Diffstat (limited to 'recordmydesktop/src/rmdmacro.h')
| -rw-r--r-- | recordmydesktop/src/rmdmacro.h | 111 | 
1 files changed, 111 insertions, 0 deletions
| diff --git a/recordmydesktop/src/rmdmacro.h b/recordmydesktop/src/rmdmacro.h new file mode 100644 index 0000000..453fbea --- /dev/null +++ b/recordmydesktop/src/rmdmacro.h @@ -0,0 +1,111 @@ +/****************************************************************************** +*                            recordMyDesktop                                  * +******************************************************************************* +*                                                                             * +*            Copyright (C) 2006,2007,2008 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 johnvarouhakis@gmail.com            * +******************************************************************************/ + +#ifndef RMDMACRO_H +#define RMDMACRO_H 1 + +#ifdef HAVE_CONFIG_H +    #include "config.h" +#endif + +#include "rmdtypes.h" + + +//define which way we are reading a pixmap +#if __BYTE_ORDER == __LITTLE_ENDIAN +#define __ABYTE 3 +#define __RBYTE 2 +#define __GBYTE 1 +#define __BBYTE 0 + +#elif __BYTE_ORDER == __BIG_ENDIAN + +#define __ABYTE 0 +#define __RBYTE 1 +#define __GBYTE 2 +#define __BBYTE 3 + +#else +#error Only little-endian and big-endian systems are supported +#endif + +#define __RVALUE_32(tmp_val) (((tmp_val)&0x00ff0000)>>16) +#define __GVALUE_32(tmp_val) (((tmp_val)&0x0000ff00)>>8) +#define __BVALUE_32(tmp_val) (((tmp_val)&0x000000ff)) + +#define __R16_MASK  0xf800 +#define __G16_MASK  0x7e0 +#define __B16_MASK  0x1f + +#define __RVALUE_16(tmp_val) ((((tmp_val)&__R16_MASK)>>11)*8) +#define __GVALUE_16(tmp_val) ((((tmp_val)&__G16_MASK)>>5)*4) +#define __BVALUE_16(tmp_val) ((((tmp_val)&__B16_MASK))*8) + +//xfixes pointer data are written as unsigned long +//(even though the server returns CARD32) +//so we need to set the step accordingly to +//avoid problems (amd64 has 8byte ulong) +#define RMD_ULONG_SIZE_T (sizeof(unsigned long)) + +//size of stride when comparing planes(depending on type) +//this is just to avoid thousands of sizeof's +#ifdef HAVE_U_INT64_T +    #define COMPARE_STRIDE  8 +#else +    #define COMPARE_STRIDE  4 +#endif + +//The width, in bytes, of the blocks +//on which the y,u and v planes are broken. +//These blocks are square. +#define Y_UNIT_WIDTH    0x0010 +#define UV_UNIT_WIDTH   0x0008 + +#ifdef HAVE_LIBASOUND +    #define DEFAULT_AUDIO_DEVICE "hw:0,0" +#else +    #define DEFAULT_AUDIO_DEVICE "/dev/dsp" +#endif + +#define I16TOA(number,buffer){\ +    int t_num=(number),__k=0,__i=0;\ +    char *t_buf=malloc(8);\ +    t_num=t_num&((2<<15)-1);\ +    while(t_num>0){\ +        int digit=t_num%10;\ +        t_buf[__k]=digit+48;\ +        t_num-=digit;\ +        t_num/=10;\ +        __k++;\ +    }\ +    while(__k>0)\ +        (buffer)[__i++]=t_buf[--__k];\ +    (buffer)[__i]='\0';\ +    free(t_buf);\ +};\ + + +#endif | 
