From ff407d9f1c96264b703cfb85b5bcfa319de9a607 Mon Sep 17 00:00:00 2001 From: dkf Date: Tue, 21 Nov 2000 16:18:04 +0000 Subject: Added TkPhotoGetValidRegion() to tkInt stubs. Bug #120930 closed. --- ChangeLog | 7 +++++++ generic/tkImgPhoto.c | 33 ++++++++++++++++++++++++++++++++- generic/tkInt.decls | 6 +++++- generic/tkIntDecls.h | 10 +++++++++- generic/tkStubInit.c | 3 ++- 5 files changed, 55 insertions(+), 4 deletions(-) diff --git a/ChangeLog b/ChangeLog index c6461f4..cd45040 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2000-11-21 Donal K. Fellows + + * generic/tkImgPhoto.c (TkPhotoGetValidRegion): Applied patch to + create this function and add it to tkInt stubs. Should now be + possible to write an extension that accesses the transparency data + in a photo image. Bug #120930 + 2000-11-03 Jeff Hobbs 8.4a2 RELEASE diff --git a/generic/tkImgPhoto.c b/generic/tkImgPhoto.c index 4084fc5..42647eb 100644 --- a/generic/tkImgPhoto.c +++ b/generic/tkImgPhoto.c @@ -15,7 +15,7 @@ * Department of Computer Science, * Australian National University. * - * RCS: @(#) $Id: tkImgPhoto.c,v 1.21 2000/08/21 22:45:15 ericm Exp $ + * RCS: @(#) $Id: tkImgPhoto.c,v 1.22 2000/11/21 16:18:05 dkf Exp $ */ #include "tkInt.h" @@ -4694,6 +4694,37 @@ Tk_PhotoSetSize(handle, width, height) /* *---------------------------------------------------------------------- * + * TkGetPhotoValidRegion -- + * + * This procedure is called to get the part of the photo where + * there is valid data. Or, conversely, the part of the photo + * which is transparent. + * + * Results: + * A TkRegion value that indicates the current area of the photo + * that is valid. This value should not be used after any + * modification to the photo image. + * + * Side Effects: + * None. + * + *---------------------------------------------------------------------- + */ + +TkRegion +TkPhotoGetValidRegion(handle) + Tk_PhotoHandle handle; /* Handle for the image whose valid region + * is to obtained. */ +{ + PhotoMaster *masterPtr; + + masterPtr = (PhotoMaster *) handle; + return masterPtr->validRegion; +} + +/* + *---------------------------------------------------------------------- + * * ImgGetPhoto -- * * This procedure is called to obtain image data from a photo diff --git a/generic/tkInt.decls b/generic/tkInt.decls index 2269f21..94112c1 100644 --- a/generic/tkInt.decls +++ b/generic/tkInt.decls @@ -9,7 +9,7 @@ # See the file "license.terms" for information on usage and redistribution # of this file, and for a DISCLAIMER OF ALL WARRANTIES. # -# RCS: @(#) $Id: tkInt.decls,v 1.17 2000/04/10 22:43:11 ericm Exp $ +# RCS: @(#) $Id: tkInt.decls,v 1.18 2000/11/21 16:18:05 dkf Exp $ library tk @@ -632,6 +632,10 @@ declare 139 generic { void TkpInitKeymapInfo (TkDisplay *dispPtr) } +declare 140 generic { + TkRegion TkPhotoGetValidRegion (Tk_PhotoHandle handle) +} + ############################################################################## # Define the platform specific internal Tcl interface. These functions are diff --git a/generic/tkIntDecls.h b/generic/tkIntDecls.h index 07d8cfd..4ae9367 100644 --- a/generic/tkIntDecls.h +++ b/generic/tkIntDecls.h @@ -11,7 +11,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkIntDecls.h,v 1.10 2000/04/10 22:43:12 ericm Exp $ + * RCS: @(#) $Id: tkIntDecls.h,v 1.11 2000/11/21 16:18:05 dkf Exp $ */ #ifndef _TKINTDECLS @@ -515,6 +515,9 @@ EXTERN KeySym TkpGetKeySym _ANSI_ARGS_((TkDisplay * dispPtr, /* 139 */ EXTERN void TkpInitKeymapInfo _ANSI_ARGS_((TkDisplay * dispPtr)); +/* 140 */ +EXTERN TkRegion TkPhotoGetValidRegion _ANSI_ARGS_((Tk_PhotoHandle handle)); + typedef struct TkIntStubs { int magic; struct TkIntStubHooks *hooks; @@ -819,6 +822,7 @@ typedef struct TkIntStubs { void (*tkpSetKeycodeAndState) _ANSI_ARGS_((Tk_Window tkwin, KeySym keySym, XEvent * eventPtr)); /* 137 */ KeySym (*tkpGetKeySym) _ANSI_ARGS_((TkDisplay * dispPtr, XEvent * eventPtr)); /* 138 */ void (*tkpInitKeymapInfo) _ANSI_ARGS_((TkDisplay * dispPtr)); /* 139 */ + TkRegion (*tkPhotoGetValidRegion) _ANSI_ARGS_((Tk_PhotoHandle handle)); /* 140 */ } TkIntStubs; #ifdef __cplusplus @@ -1471,6 +1475,10 @@ extern TkIntStubs *tkIntStubsPtr; #define TkpInitKeymapInfo \ (tkIntStubsPtr->tkpInitKeymapInfo) /* 139 */ #endif +#ifndef TkPhotoGetValidRegion +#define TkPhotoGetValidRegion \ + (tkIntStubsPtr->tkPhotoGetValidRegion) /* 140 */ +#endif #endif /* defined(USE_TK_STUBS) && !defined(USE_TK_STUB_PROCS) */ diff --git a/generic/tkStubInit.c b/generic/tkStubInit.c index 2fe2b7f..560fbb2 100644 --- a/generic/tkStubInit.c +++ b/generic/tkStubInit.c @@ -8,7 +8,7 @@ * See the file "license.terms" for information on usage and redistribution * of this file, and for a DISCLAIMER OF ALL WARRANTIES. * - * RCS: @(#) $Id: tkStubInit.c,v 1.24 2000/10/05 18:31:26 ericm Exp $ + * RCS: @(#) $Id: tkStubInit.c,v 1.25 2000/11/21 16:18:05 dkf Exp $ */ #include "tkInt.h" @@ -347,6 +347,7 @@ TkIntStubs tkIntStubs = { TkpSetKeycodeAndState, /* 137 */ TkpGetKeySym, /* 138 */ TkpInitKeymapInfo, /* 139 */ + TkPhotoGetValidRegion, /* 140 */ }; TkIntPlatStubs tkIntPlatStubs = { -- cgit v0.12