Initial import of the CDE 2.1.30 sources from the Open Group.
This commit is contained in:
218
cde/lib/DtSvc/DtUtil2/XmWrap.c
Normal file
218
cde/lib/DtSvc/DtUtil2/XmWrap.c
Normal file
@@ -0,0 +1,218 @@
|
||||
/* $TOG: XmWrap.c /main/10 1998/09/21 10:57:11 mgreess $ */
|
||||
/*
|
||||
* (c) Copyright 1993, 1994 Hewlett-Packard Company *
|
||||
* (c) Copyright 1993, 1994 International Business Machines Corp. *
|
||||
* (c) Copyright 1993, 1994 Sun Microsystems, Inc. *
|
||||
* (c) Copyright 1993, 1994 Novell, Inc. *
|
||||
*/
|
||||
#include <Xm/XmP.h>
|
||||
#include <Xm/IconFile.h>
|
||||
|
||||
#ifdef DtUse_XmFunctions
|
||||
|
||||
/* Prototypes for internal functions we steal from <Xm/ImageCachI.h>. */
|
||||
extern Boolean _XmInstallImage(
|
||||
XImage *image,
|
||||
char *image_name,
|
||||
int hot_x,
|
||||
int hot_y) ;
|
||||
extern Boolean _XmGetImage(
|
||||
Screen *screen,
|
||||
char *image_name,
|
||||
XImage **image) ;
|
||||
extern Boolean _XmCachePixmap(
|
||||
Pixmap pixmap,
|
||||
Screen *screen,
|
||||
char *image_name,
|
||||
Pixel foreground,
|
||||
Pixel background,
|
||||
int depth,
|
||||
Dimension width,
|
||||
Dimension height) ;
|
||||
#endif
|
||||
|
||||
/************************************************************************
|
||||
*
|
||||
* _DtGetPixmapByDepth
|
||||
* Public wrapper around __DtGetPixmap with parameter order changed.
|
||||
*
|
||||
************************************************************************/
|
||||
Pixmap
|
||||
_DtGetPixmapByDepth(
|
||||
Screen *screen,
|
||||
char *image_name,
|
||||
Pixel foreground,
|
||||
Pixel background,
|
||||
int depth)
|
||||
{
|
||||
return(XmGetPixmapByDepth(screen, image_name,
|
||||
foreground, background, depth));
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
*
|
||||
* _DtGetPixmap
|
||||
* Create a pixmap of screen depth, using the image referenced
|
||||
* by the name and the foreground and background colors
|
||||
* specified. Ensure that multiple pixmaps of the same attributes
|
||||
* are not created by maintaining a cache of the pixmaps.
|
||||
*
|
||||
************************************************************************/
|
||||
Pixmap
|
||||
_DtGetPixmap(
|
||||
Screen *screen,
|
||||
char *image_name,
|
||||
Pixel foreground,
|
||||
Pixel background )
|
||||
{
|
||||
return (XmGetPixmap(screen, image_name, foreground, background));
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
*
|
||||
* _DtGetMask
|
||||
*
|
||||
************************************************************************/
|
||||
Pixmap
|
||||
_DtGetMask(
|
||||
Screen *screen,
|
||||
char *image_name)
|
||||
{
|
||||
return XmeGetMask( screen, image_name );
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
*
|
||||
* __DtInstallPixmap
|
||||
* Install a pixmap into the pixmap cache. This is used to add
|
||||
* cached pixmaps which have no image associated with them.
|
||||
*
|
||||
************************************************************************/
|
||||
Boolean
|
||||
__DtInstallPixmap(
|
||||
Pixmap pixmap,
|
||||
Screen *screen,
|
||||
char *image_name,
|
||||
Pixel foreground,
|
||||
Pixel background )
|
||||
{
|
||||
#ifdef DtUse_XmFunctions
|
||||
return _XmCachePixmap(pixmap, screen, image_name, foreground, background,
|
||||
0, 0, 0);
|
||||
#else
|
||||
XtWarning("__DtInstallPixmap: unsupported interface");
|
||||
return False;
|
||||
#endif
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
*
|
||||
* _DtDestroyPixmap
|
||||
* Locate a pixmap in the cache and decrement its reference count.
|
||||
* When the reference count is at zero, free the pixmap.
|
||||
*
|
||||
************************************************************************/
|
||||
Boolean
|
||||
_DtDestroyPixmap(
|
||||
Screen *screen,
|
||||
Pixmap pixmap )
|
||||
{
|
||||
return XmDestroyPixmap( screen, pixmap );
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
*
|
||||
* _DtInstallImage
|
||||
* Add the provided image for the image set and return an
|
||||
* tile id to be used for further referencing. Keep the
|
||||
* allocation of the image_set array straight.
|
||||
*
|
||||
************************************************************************/
|
||||
Boolean
|
||||
_DtInstallImage(
|
||||
XImage *image,
|
||||
char *image_name,
|
||||
int hot_x,
|
||||
int hot_y)
|
||||
{
|
||||
#ifdef DtUse_XmFunctions
|
||||
return _XmInstallImage(image, image_name, hot_x, hot_y);
|
||||
#else
|
||||
XtWarning("_DtInstallImage: unsupported interface");
|
||||
return False;
|
||||
#endif
|
||||
}
|
||||
|
||||
/************************************************************************
|
||||
*
|
||||
* _DtUninstallImage
|
||||
* Remove an image from the image set.
|
||||
* Return a boolean (True) if the uninstall succeeded. Return
|
||||
* a boolean (False) if an error condition occurs.
|
||||
*
|
||||
************************************************************************/
|
||||
Boolean
|
||||
_DtUninstallImage(
|
||||
XImage *image )
|
||||
{
|
||||
return XmUninstallImage( image );
|
||||
}
|
||||
|
||||
XImage *
|
||||
_DtGetImage(
|
||||
Screen *screen,
|
||||
char *image_name,
|
||||
XImage **image)
|
||||
{
|
||||
Boolean result;
|
||||
|
||||
#ifdef DtUse_XmFunctions
|
||||
if( (result=_XmGetImage(screen, image_name, image)) == False )
|
||||
return False;
|
||||
else
|
||||
return *image;
|
||||
#else
|
||||
XtWarning("_DtGetImage: unsupported interface");
|
||||
return False;
|
||||
#endif
|
||||
}
|
||||
|
||||
/*
|
||||
* see if this pixmap is in the cache. If it is then return all the
|
||||
* gory details about it
|
||||
*/
|
||||
/*ARGSUSED*/
|
||||
Boolean
|
||||
__DtGetPixmapData(
|
||||
Screen *screen,
|
||||
Pixmap pixmap,
|
||||
char **image_name,
|
||||
int *depth,
|
||||
Pixel *foreground,
|
||||
Pixel *background,
|
||||
int *hot_x,
|
||||
int *hot_y,
|
||||
unsigned int *width,
|
||||
unsigned int *height)
|
||||
{
|
||||
return XmeGetPixmapData(screen, pixmap, image_name, depth, foreground,
|
||||
background, hot_x, hot_y, width, height);
|
||||
}
|
||||
|
||||
String
|
||||
_DtGetIconFileName(
|
||||
Screen *screen,
|
||||
String imageInstanceName,
|
||||
String imageClassName,
|
||||
String hostPrefix,
|
||||
unsigned int size)
|
||||
{
|
||||
return XmGetIconFileName(screen, imageInstanceName, imageClassName,
|
||||
hostPrefix, size);
|
||||
}
|
||||
|
||||
void
|
||||
_DtFlushIconFileCache(String path)
|
||||
{
|
||||
XmeFlushIconFileCache(path);
|
||||
}
|
||||
Reference in New Issue
Block a user