summaryrefslogtreecommitdiffstats
path: root/tkimg/base/tkimgPPB.c
diff options
context:
space:
mode:
Diffstat (limited to 'tkimg/base/tkimgPPB.c')
-rw-r--r--tkimg/base/tkimgPPB.c142
1 files changed, 0 insertions, 142 deletions
diff --git a/tkimg/base/tkimgPPB.c b/tkimg/base/tkimgPPB.c
deleted file mode 100644
index 573fdc6..0000000
--- a/tkimg/base/tkimgPPB.c
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * tkimgPPB.tcl
- */
-
-#include <string.h>
-#include "tkimg.h"
-
-/*
- * Make sure that all Tk's stub entries are available, no matter what
- * Tcl version we compile against.
- */
-#undef Tk_PhotoPutBlock /* 266 */
-#define Tk_PhotoPutBlock ((int (*)(Tcl_Interp *, Tk_PhotoHandle, Tk_PhotoImageBlock *, int, int, int, int, int)) *((&tkStubsPtr->tk_MainLoop)+266))
-#undef Tk_PhotoPutBlock_Panic /* 246 */
-#define Tk_PhotoPutBlock_Panic ((void (*)(Tk_PhotoHandle, Tk_PhotoImageBlock *, int, int, int, int, int)) *((&tkStubsPtr->tk_MainLoop)+246))
-#undef Tk_PhotoPutBlock_NoComposite /* 144 */
-#define Tk_PhotoPutBlock_NoComposite ((void (*)(Tk_PhotoHandle, Tk_PhotoImageBlock *, int, int, int, int)) *((&tkStubsPtr->tk_MainLoop)+144))
-#undef Tk_PhotoExpand /* 265 */
-#define Tk_PhotoExpand ((int (*)(Tcl_Interp *, Tk_PhotoHandle, int, int)) *((&tkStubsPtr->tk_MainLoop)+265))
-#undef Tk_PhotoExpand_Panic /* 148 */
-#define Tk_PhotoExpand_Panic ((void (*)(Tk_PhotoHandle, int, int)) *((&tkStubsPtr->tk_MainLoop)+148))
-#undef Tk_PhotoSetSize /* 268 */
-#define Tk_PhotoSetSize ((int (*)(Tcl_Interp *, Tk_PhotoHandle, int, int)) *((&tkStubsPtr->tk_MainLoop)+268))
-#undef Tk_PhotoSetSize_Panic /* 150 */
-#define Tk_PhotoSetSize_Panic ((int (*)(Tk_PhotoHandle, int, int)) *((&tkStubsPtr->tk_MainLoop)+150))
-
-/*
- *----------------------------------------------------------------------
- *
- * tkimg_PhotoPutBlock --
- *
- * This procedure is called to put image data into a photo image.
- * The difference with Tk_PhotoPutBlock is that it handles the
- * transparency information as well.
- *
- * Results:
- * None.
- *
- * Side effects:
- * The image data is stored. The image may be expanded.
- * The Tk image code is informed that the image has changed.
- *
- *----------------------------------------------------------------------
- */
-
-int tkimg_PhotoPutBlock(
- Tcl_Interp *interp, /* Interpreter for error-reporting. */
- Tk_PhotoHandle handle, /* Opaque handle for the photo image to be updated. */
- Tk_PhotoImageBlock *blockPtr, /* Pointer to a structure describing the
- * pixel data to be copied into the image. */
- int x, /* Coordinates of the top-left pixel to */
- int y, /* be updated in the image. */
- int width, /* Dimensions of the area of the image */
- int height,/* to be updated. */
- int flags /* TK_PHOTO_COMPOSITE_OVERLAY or TK_PHOTO_COMPOSITE_SET */
-) {
- if (tkimg_initialized & IMG_NOPANIC) {
- return Tk_PhotoPutBlock(interp, handle, blockPtr, x, y, width, height, flags);
- }
- if (tkimg_initialized & IMG_COMPOSITE) {
- Tk_PhotoPutBlock_Panic(handle, blockPtr, x, y, width, height, flags);
- return TCL_OK;
- }
- if (0 && (flags == TK_PHOTO_COMPOSITE_OVERLAY)) {
- int alphaOffset = blockPtr->offset[3];
- if ((alphaOffset< 0) || (alphaOffset>= blockPtr->pixelSize)) {
- alphaOffset = blockPtr->offset[0];
- if (alphaOffset < blockPtr->offset[1]) {
- alphaOffset = blockPtr->offset[1];
- }
- if (alphaOffset < blockPtr->offset[2]) {
- alphaOffset = blockPtr->offset[2];
- }
- if (++alphaOffset >= blockPtr->pixelSize) {
- alphaOffset = blockPtr->offset[0];
- }
- } else {
- if ((alphaOffset == blockPtr->offset[1]) ||
- (alphaOffset == blockPtr->offset[2])) {
- alphaOffset = blockPtr->offset[0];
- }
- }
- if (alphaOffset != blockPtr->offset[0]) {
- int X, Y, end;
- unsigned char *pixelPtr, *imagePtr, *rowPtr;
- rowPtr = imagePtr = blockPtr->pixelPtr;
- for (Y = 0; Y < height; Y++) {
- X = 0;
- pixelPtr = rowPtr + alphaOffset;
- while (X < width) {
- /* search for first non-transparent pixel */
- while ((X < width) && !(*pixelPtr)) {
- X++; pixelPtr += blockPtr->pixelSize;
- }
- end = X;
- /* search for first transparent pixel */
- while ((end < width) && *pixelPtr) {
- end++; pixelPtr += blockPtr->pixelSize;
- }
- if (end > X) {
- blockPtr->pixelPtr = rowPtr + blockPtr->pixelSize * X;
- Tk_PhotoPutBlock_NoComposite(handle, blockPtr, x+X, y+Y, end-X, 1);
- }
- X = end;
- }
- rowPtr += blockPtr->pitch;
- }
- blockPtr->pixelPtr = imagePtr;
- return TCL_OK;
- }
- }
- Tk_PhotoPutBlock_NoComposite(handle, blockPtr, x, y, width, height);
- return TCL_OK;
-}
-
-int tkimg_PhotoExpand(
- Tcl_Interp *interp, /* Interpreter for error-reporting. */
- Tk_PhotoHandle handle, /* Opaque handle for the photo image
- * to be updated. */
- int width, /* Dimensions of the area of the image */
- int height /* to be updated. */
-) {
- if (tkimg_initialized & IMG_NOPANIC) {
- return Tk_PhotoExpand(interp, handle, width, height);
- }
- Tk_PhotoExpand_Panic(handle, width, height);
- return TCL_OK;
-}
-
-int tkimg_PhotoSetSize(
- Tcl_Interp *interp, /* Interpreter for error-reporting. */
- Tk_PhotoHandle handle, /* Opaque handle for the photo image
- * to be updated. */
- int width, /* Dimensions of the area of the image */
- int height /* to be updated. */
-) {
- if (tkimg_initialized & IMG_NOPANIC) {
- return Tk_PhotoSetSize(interp, handle, width, height);
- }
- Tk_PhotoSetSize_Panic(handle, width, height);
- return TCL_OK;
-}