MultiSinkP.h revision 749
6ae232055d4d8a97267517c5e50074c2c819941and/* $XConsortium: MultiSinkP.h,v 1.2 94/04/17 20:12:24 kaleb Exp $ */
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/*
6ae232055d4d8a97267517c5e50074c2c819941and * Copyright 1991 by OMRON Corporation
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and * Permission to use, copy, modify, distribute, and sell this software and its
6ae232055d4d8a97267517c5e50074c2c819941and * documentation for any purpose is hereby granted without fee, provided that
6ae232055d4d8a97267517c5e50074c2c819941and * the above copyright notice appear in all copies and that both that
6ae232055d4d8a97267517c5e50074c2c819941and * copyright notice and this permission notice appear in supporting
6ae232055d4d8a97267517c5e50074c2c819941and * documentation, and that the name OMRON not be used in
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen * advertising or publicity pertaining to distribution of the software without
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen * specific, written prior permission. OMRON make no representations
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen * about the suitability of this software for any purpose. It is provided
d29d9ab4614ff992b0e8de6e2b88d52b6f1f153erbowen * "as is" without express or implied warranty.
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and * OMRON DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE,
d229f940abfb2490dee17979e9a5ff31b7012eb5rbowen * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO
3f08db06526d6901aa08c110b5bc7dde6bc39905nd * EVENT SHALL OMRON BE LIABLE FOR ANY SPECIAL, INDIRECT OR
6ae232055d4d8a97267517c5e50074c2c819941and * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE,
6ae232055d4d8a97267517c5e50074c2c819941and * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
6ae232055d4d8a97267517c5e50074c2c819941and * TORTUOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
b43f840409794ed298e8634f6284741f193b6c4ftakashi * PERFORMANCE OF THIS SOFTWARE.
6ae232055d4d8a97267517c5e50074c2c819941and *
b43f840409794ed298e8634f6284741f193b6c4ftakashi * Author: Li Yuhong OMRON Corporation
f086b4b402fa9a2fefc7dda85de2a3cc1cd0a654rjung */
6ae232055d4d8a97267517c5e50074c2c819941and
b43f840409794ed298e8634f6284741f193b6c4ftakashi
b43f840409794ed298e8634f6284741f193b6c4ftakashi/***********************************************************
b43f840409794ed298e8634f6284741f193b6c4ftakashi
b43f840409794ed298e8634f6284741f193b6c4ftakashiCopyright (c) 1987, 1988, 1994 X Consortium
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andPermission is hereby granted, free of charge, to any person obtaining a copy
6ae232055d4d8a97267517c5e50074c2c819941andof this software and associated documentation files (the "Software"), to deal
6ae232055d4d8a97267517c5e50074c2c819941andin the Software without restriction, including without limitation the rights
6ae232055d4d8a97267517c5e50074c2c819941andto use, copy, modify, merge, publish, distribute, sublicense, and/or sell
6ae232055d4d8a97267517c5e50074c2c819941andcopies of the Software, and to permit persons to whom the Software is
6ae232055d4d8a97267517c5e50074c2c819941andfurnished to do so, subject to the following conditions:
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andThe above copyright notice and this permission notice shall be included in
6ae232055d4d8a97267517c5e50074c2c819941andall copies or substantial portions of the Software.
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andTHE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
6ae232055d4d8a97267517c5e50074c2c819941andIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
6ae232055d4d8a97267517c5e50074c2c819941andFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
6ae232055d4d8a97267517c5e50074c2c819941andX CONSORTIUM BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN
6ae232055d4d8a97267517c5e50074c2c819941andAN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
6ae232055d4d8a97267517c5e50074c2c819941andCONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andExcept as contained in this notice, the name of the X Consortium shall not be
6ae232055d4d8a97267517c5e50074c2c819941andused in advertising or otherwise to promote the sale, use or other dealings
6ae232055d4d8a97267517c5e50074c2c819941andin this Software without prior written authorization from the X Consortium.
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andCopyright 1987, 1988 by Digital Equipment Corporation, Maynard, Massachusetts.
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and All Rights Reserved
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andPermission to use, copy, modify, and distribute this software and its
6ae232055d4d8a97267517c5e50074c2c819941anddocumentation for any purpose and without fee is hereby granted,
6ae232055d4d8a97267517c5e50074c2c819941andprovided that the above copyright notice appear in all copies and that
6ae232055d4d8a97267517c5e50074c2c819941andboth that copyright notice and this permission notice appear in
6ae232055d4d8a97267517c5e50074c2c819941andsupporting documentation, and that the name of Digital not be
6ae232055d4d8a97267517c5e50074c2c819941andused in advertising or publicity pertaining to distribution of the
6ae232055d4d8a97267517c5e50074c2c819941andsoftware without specific, written prior permission.
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andDIGITAL DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING
6ae232055d4d8a97267517c5e50074c2c819941andALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL
6ae232055d4d8a97267517c5e50074c2c819941andDIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR
6ae232055d4d8a97267517c5e50074c2c819941andANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS,
6ae232055d4d8a97267517c5e50074c2c819941andWHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION,
6ae232055d4d8a97267517c5e50074c2c819941andARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS
6ae232055d4d8a97267517c5e50074c2c819941andSOFTWARE.
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and******************************************************************/
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/*
6ae232055d4d8a97267517c5e50074c2c819941and * multiSinkP.h - Private definitions for multiSink object
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and */
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and#ifndef _XawMultiSinkP_h
6ae232055d4d8a97267517c5e50074c2c819941and#define _XawMultiSinkP_h
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/***********************************************************************
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and * MultiSink Object Private Data
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and ***********************************************************************/
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and#include <X11/Xaw/TextSinkP.h>
6ae232055d4d8a97267517c5e50074c2c819941and#include <X11/Xaw/MultiSink.h>
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/************************************************************
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and * New fields for the MultiSink object class record.
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and ************************************************************/
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtypedef struct _MultiSinkClassPart {
6ae232055d4d8a97267517c5e50074c2c819941and int foo;
6ae232055d4d8a97267517c5e50074c2c819941and} MultiSinkClassPart;
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/* Full class record declaration */
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtypedef struct _MultiSinkClassRec {
6ae232055d4d8a97267517c5e50074c2c819941and ObjectClassPart object_class;
6ae232055d4d8a97267517c5e50074c2c819941and TextSinkClassPart text_sink_class;
6ae232055d4d8a97267517c5e50074c2c819941and MultiSinkClassPart multi_sink_class;
6ae232055d4d8a97267517c5e50074c2c819941and} MultiSinkClassRec;
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andextern MultiSinkClassRec multiSinkClassRec;
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/* New fields for the MultiSink object record */
6ae232055d4d8a97267517c5e50074c2c819941andtypedef struct {
6ae232055d4d8a97267517c5e50074c2c819941and /* public resources */
6ae232055d4d8a97267517c5e50074c2c819941and Boolean echo;
6ae232055d4d8a97267517c5e50074c2c819941and Boolean display_nonprinting;
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and /* private state */
6ae232055d4d8a97267517c5e50074c2c819941and GC normgc, invgc, xorgc;
6ae232055d4d8a97267517c5e50074c2c819941and Pixmap insertCursorOn;
6ae232055d4d8a97267517c5e50074c2c819941and XawTextInsertState laststate;
6ae232055d4d8a97267517c5e50074c2c819941and short cursor_x, cursor_y; /* Cursor Location. */
6ae232055d4d8a97267517c5e50074c2c819941and XFontSet fontset; /* font set to draw */
6ae232055d4d8a97267517c5e50074c2c819941and} MultiSinkPart;
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/****************************************************************
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and * Full instance record declaration
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and ****************************************************************/
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andtypedef struct _MultiSinkRec {
6ae232055d4d8a97267517c5e50074c2c819941and ObjectPart object;
6ae232055d4d8a97267517c5e50074c2c819941and TextSinkPart text_sink;
6ae232055d4d8a97267517c5e50074c2c819941and MultiSinkPart multi_sink;
6ae232055d4d8a97267517c5e50074c2c819941and} MultiSinkRec;
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and/********************************************
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and * Semi-private functions
6ae232055d4d8a97267517c5e50074c2c819941and * for use by other Xaw modules only
6ae232055d4d8a97267517c5e50074c2c819941and *
6ae232055d4d8a97267517c5e50074c2c819941and *******************************************/
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941andextern void _XawMultiSinkPosToXY(
6ae232055d4d8a97267517c5e50074c2c819941and#if NeedFunctionPrototypes
6ae232055d4d8a97267517c5e50074c2c819941and Widget /* w */,
6ae232055d4d8a97267517c5e50074c2c819941and XawTextPosition /* pos */,
6ae232055d4d8a97267517c5e50074c2c819941and Position * /* x */,
6ae232055d4d8a97267517c5e50074c2c819941and Position * /*y */
6ae232055d4d8a97267517c5e50074c2c819941and#endif
6ae232055d4d8a97267517c5e50074c2c819941and);
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and#endif /* _XawMultiSinkP_h */
6ae232055d4d8a97267517c5e50074c2c819941and
6ae232055d4d8a97267517c5e50074c2c819941and