📄 linkraster.c
字号:
int x, int y, int width, int height, int transparency, IndexedImage *indexedimage, LinkArgs *linkArgs){ int check = OK; check = check || WriteLinkRasterHeader(linkSocket); check = check || WriteInteger(linkSocket, RENDERTYPE_XY); check = check || WriteInteger(linkSocket, IMAGE_INDEX_COLOR_MODEL); check = check || WriteInteger(linkSocket, x); check = check || WriteInteger(linkSocket, y); check = check || WriteInteger(linkSocket, width); check = check || WriteInteger(linkSocket, height); check = check || WriteIndexedImage(linkSocket, indexedimage); check = check || WriteInteger(linkSocket, transparency); check = check || WriteLinkArgs(linkSocket, linkArgs); return check; /* Returns -1 if there was a memory allocation error in WriteLinkArgs() */}int BufferedWriteLinkRasterIndexedXY(LinkSocket *linkSocket, int x, int y, int width, int height, int transparency, IndexedImage *indexedimage, LinkArgs *linkArgs){ int buffercount; char *buffer; int retval; buffercount = lRASTER_HEADER + /* Bytes used by Header*/ N_BYTES_PER_INTEGER + /*Bytes used by GRAPHIC_TYPE. It is an Integer*/ N_BYTES_PER_INTEGER + /* Bytes used by RENDERTYPE indentifier. It is an integer*/ N_BYTES_PER_INTEGER + /*Bytes used bu Image format indentifier. It is an Integer*/ 4*N_BYTES_PER_INTEGER + /*Bytes used by x,y,width and height*/ GetIndexedImageSize(indexedimage) + N_BYTES_PER_INTEGER + /*transparency */ LinkSizeOfLinkArgs(linkArgs); buffer = (char *)malloc(sizeof(buffercount)); if(NULL == buffer) return -1; /* Memory allocation error */ buffercount = 0; buffercount += BufferedWriteLinkRasterHeader(&buffer[buffercount]); buffercount += BufferedWriteInteger(&buffer[buffercount], RENDERTYPE_XY); buffercount += BufferedWriteInteger(&buffer[buffercount], IMAGE_INDEX_COLOR_MODEL); buffercount += BufferedWriteInteger(&buffer[buffercount], x); buffercount += BufferedWriteInteger(&buffer[buffercount], y); buffercount += BufferedWriteInteger(&buffer[buffercount], width); buffercount += BufferedWriteInteger(&buffer[buffercount], height); buffercount += BufferedWriteIndexedImage(&buffer[buffercount], indexedimage); buffercount += BufferedWriteInteger(&buffer[buffercount], transparency); buffercount += BufferedWriteLinkArgs(&buffer[buffercount], linkArgs); retval = WriteChars(linkSocket, buffer, buffercount); free(buffer); return retval;}int WriteLinkRasterIndexedOffset(LinkSocket *linkSocket, double lat, double lon, int x, int y, int width, int height, int transparency, IndexedImage *indexedimage, LinkArgs *linkArgs){ int check = OK; check = check || WriteLinkRasterHeader(linkSocket); check = check || WriteInteger(linkSocket, RENDERTYPE_OFFSET); check = check || WriteInteger(linkSocket, IMAGE_INDEX_COLOR_MODEL); check = check || WriteFloat(linkSocket, (float)lat); check = check || WriteFloat(linkSocket, (float)lon); check = check || WriteInteger(linkSocket, x); check = check || WriteInteger(linkSocket, y); check = check || WriteInteger(linkSocket, width); check = check || WriteInteger(linkSocket, height); check = check || WriteIndexedImage(linkSocket, indexedimage); check = check || WriteInteger(linkSocket, transparency); check = check || WriteLinkArgs(linkSocket, linkArgs); return check; /* Returns -1 if there was a memory allocation error in WriteLinkArgs() */}int BufferedWriteLinkRasterIndexedOffset(LinkSocket *linkSocket, double lat, double lon, int x, int y, int width, int height, int transparency, IndexedImage *indexedimage, LinkArgs *linkArgs){ int buffercount; char *buffer; int retval; buffercount = lRASTER_HEADER + /* Bytes used by Header*/ N_BYTES_PER_INTEGER + /*Bytes used by GRAPHIC_TYPE. It is an Integer*/ N_BYTES_PER_INTEGER + /* Bytes used by RENDERTYPE indentifier. It is an integer*/ N_BYTES_PER_INTEGER + /*Bytes used bu Image format indentifier. It is an Integer*/ 2*N_BYTES_PER_INTEGER + /*bytes used by lat and lon*/ 4*N_BYTES_PER_INTEGER + /*Bytes used by x,y,width and height*/ GetIndexedImageSize(indexedimage) + N_BYTES_PER_INTEGER + /*transparency */ LinkSizeOfLinkArgs(linkArgs); buffer = (char *)malloc(sizeof(buffercount)); if(NULL == buffer) return -1; /* Memory allocation error */ buffercount = 0; buffercount += BufferedWriteLinkRasterHeader(&buffer[buffercount]); buffercount += BufferedWriteInteger(&buffer[buffercount], RENDERTYPE_OFFSET); buffercount += BufferedWriteInteger(&buffer[buffercount], IMAGE_INDEX_COLOR_MODEL); buffercount += BufferedWriteFloat(&buffer[buffercount], (float)lat); buffercount += BufferedWriteFloat(&buffer[buffercount], (float)lon); buffercount += BufferedWriteInteger(&buffer[buffercount], x); buffercount += BufferedWriteInteger(&buffer[buffercount], y); buffercount += BufferedWriteInteger(&buffer[buffercount], width); buffercount += BufferedWriteInteger(&buffer[buffercount], height); buffercount += BufferedWriteIndexedImage(&buffer[buffercount], indexedimage); buffercount += BufferedWriteInteger(&buffer[buffercount], transparency); buffercount += BufferedWriteLinkArgs(&buffer[buffercount], linkArgs); retval = WriteChars(linkSocket, buffer,buffercount); free(buffer); return retval;}/*-----------------------------------------------------------*//*UR: Images*/int WriteLinkRasterImageURLLatLon(LinkSocket *linkSocket, double lat, double lon, char *url, LinkArgs *linkArgs){ int check = OK; /** Add font and string to properties. */ check = SetKeyValuePairInLinkArgs(linkArgs, LPC_LINKRASTERIMAGEURL, url, 0, 0); if (check == -1) return -1; /* Memory allocation error */ check = check || WriteLinkRasterHeader(linkSocket); check = check || WriteInteger(linkSocket, RENDERTYPE_LATLON); check = check || WriteInteger(linkSocket, IMAGE_URL); check = check || WriteFloat(linkSocket, (float)lat); check = check || WriteFloat(linkSocket, (float)lon); check = check || WriteLinkArgs(linkSocket, linkArgs); return check; /* Returns -1 if there was a memory allocation error in WriteLinkArgs() */}int BufferedWriteLinkRasterImageURLLatLon(LinkSocket *linkSocket, double lat, double lon, char *url, LinkArgs *linkArgs){ int buffercount; char *buffer; int retval; /** Add font and string to properties. */ retval = SetKeyValuePairInLinkArgs(linkArgs, LPC_LINKRASTERIMAGEURL, url, 0, 0); if (retval == -1) return -1; /* Memory allocation error */ buffercount = lRASTER_HEADER + /* Bytes used by Header*/ N_BYTES_PER_INTEGER + /*Bytes used by GRAPHIC_TYPE. It is an Integer*/ N_BYTES_PER_INTEGER + /* Bytes used by RENDERTYPE indentifier. It is an integer*/ N_BYTES_PER_INTEGER + /*Bytes used bu Image format indentifier. It is an Integer*/ 2*N_BYTES_PER_INTEGER + /*bytes used by lat and lon*/ LinkSizeOfLinkArgs(linkArgs); buffer = (char *)malloc(sizeof(buffercount)); if(NULL == buffer) return -1; /* Memory allocation error */ buffercount = 0; buffercount += BufferedWriteLinkRasterHeader(&buffer[buffercount]); buffercount += BufferedWriteInteger(&buffer[buffercount], RENDERTYPE_LATLON); buffercount += BufferedWriteInteger(&buffer[buffercount], IMAGE_URL); buffercount += BufferedWriteFloat(&buffer[buffercount], (float)lat); buffercount += BufferedWriteFloat(&buffer[buffercount], (float)lon); buffercount += BufferedWriteLinkArgs(&buffer[buffercount], linkArgs); retval = WriteChars(linkSocket, buffer,buffercount); free(buffer); return retval;}int WriteLinkRasterImageURLXY(LinkSocket *linkSocket, int x, int y, char *url, LinkArgs *linkArgs){ int check = OK; /** Add font and string to properties. */ check = SetKeyValuePairInLinkArgs(linkArgs, LPC_LINKRASTERIMAGEURL, url, 0, 0); if (check == -1) return -1; /* Memory allocation error. */ check = check || WriteLinkRasterHeader(linkSocket); check = check || WriteInteger(linkSocket, RENDERTYPE_XY); check = check || WriteInteger(linkSocket, IMAGE_URL); check = check || WriteInteger(linkSocket, x); check = check || WriteInteger(linkSocket, y); check = check || WriteLinkArgs(linkSocket, linkArgs); return check; /* Returns -1 if there was a memory allocation error in WriteLinkArgs() */} int BufferedWriteLinkRasterImageURLXY(LinkSocket *linkSocket, int x, int y, char *url, LinkArgs *linkArgs){ int buffercount; char *buffer; int retval; /** Add font and string to properties. */ retval = SetKeyValuePairInLinkArgs(linkArgs, LPC_LINKRASTERIMAGEURL, url, 0, 0); if (retval == -1) return -1; /* Memory allocation error */ buffercount = lRASTER_HEADER + /* Bytes used by Header*/ N_BYTES_PER_INTEGER + /*Bytes used by GRAPHIC_TYPE. It is an Integer*/ N_BYTES_PER_INTEGER + /* Bytes used by RENDERTYPE indentifier. It is an integer*/ N_BYTES_PER_INTEGER + /*Bytes used bu Image format indentifier. It is an Integer*/ 2*N_BYTES_PER_INTEGER + /*Bytes used by x,y*/ LinkSizeOfLinkArgs(linkArgs); buffer = (char *)malloc(sizeof(buffercount)); if(NULL == buffer) return -1; /* Memory allocation error */ buffercount = 0; buffercount += BufferedWriteLinkRasterHeader(&buffer[buffercount]); buffercount += BufferedWriteInteger(&buffer[buffercount], RENDERTYPE_XY); buffercount += BufferedWriteInteger(&buffer[buffercount], IMAGE_URL); buffercount += BufferedWriteInteger(&buffer[buffercount], x); buffercount += BufferedWriteInteger(&buffer[buffercount], y); buffercount += BufferedWriteLinkArgs(&buffer[buffercount], linkArgs); retval = WriteChars(linkSocket, buffer,buffercount); free(buffer); return retval;}int WriteLinkRasterImageURLOffset(LinkSocket *linkSocket, double lat, double lon, int x , int y , char *url, LinkArgs *linkArgs){ int check = OK; /** Add font and string to properties. */ check = SetKeyValuePairInLinkArgs(linkArgs, LPC_LINKRASTERIMAGEURL, url, 0, 0); if (check == -1) return -1; /* Memory allocation error */ check = check || WriteLinkRasterHeader(linkSocket); check = check || WriteInteger(linkSocket, RENDERTYPE_OFFSET); check = check || WriteInteger(linkSocket, IMAGE_URL); check = check || WriteFloat(linkSocket, (float)lat); check = check || WriteFloat(linkSocket, (float)lon); check = check || WriteLinkArgs(linkSocket, linkArgs); return check; /* Returns -1 if there was a memory allocation error in WriteLinkArgs() */}int BufferedWriteLinkRasterImageURLOffset(LinkSocket *linkSocket, double lat, double lon, int x, int y, char *url, LinkArgs *linkArgs){ int buffercount; char *buffer; int retval; /** Add font and string to properties. */ retval = SetKeyValuePairInLinkArgs(linkArgs, LPC_LINKRASTERIMAGEURL, url, 0, 0); if (retval == -1) return -1; /* Memory allocation error */ buffercount = lRASTER_HEADER + /* Bytes used by Header*/ N_BYTES_PER_INTEGER + /*Bytes used by GRAPHIC_TYPE. It is an Integer*/ N_BYTES_PER_INTEGER + /* Bytes used by RENDERTYPE indentifier. It is an integer*/ N_BYTES_PER_INTEGER + /*Bytes used bu Image format indentifier. It is an Integer*/ 2*N_BYTES_PER_INTEGER + /*bytes used by lat and lon*/ 2*N_BYTES_PER_INTEGER + /*Bytes used by x,y*/ LinkSizeOfLinkArgs(linkArgs); buffer = (char *)malloc(buffercount); if(NULL == buffer) return -1; /* Memory allocation error */ buffercount = 0; buffercount += BufferedWriteLinkRasterHeader(&buffer[buffercount]); buffercount += BufferedWriteInteger(&buffer[buffercount], RENDERTYPE_OFFSET); buffercount += BufferedWriteInteger(&buffer[buffercount], IMAGE_URL); buffercount += BufferedWriteFloat(&buffer[buffercount], (float)lat); buffercount += BufferedWriteFloat(&buffer[buffercount], (float)lon); buffercount += BufferedWriteLinkArgs(&buffer[buffercount], linkArgs); retval = WriteChars(linkSocket, buffer,buffercount); free(buffer); return retval;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -