iconmgr.h revision 645f5050
1645f5050Syouri/* 2645f5050Syouri * Copyright 1989 Massachusetts Institute of Technology 3645f5050Syouri * 4645f5050Syouri * Permission to use, copy, modify, and distribute this software and its 5645f5050Syouri * documentation for any purpose and without fee is hereby granted, provided 6645f5050Syouri * that the above copyright notice appear in all copies and that both that 7645f5050Syouri * copyright notice and this permission notice appear in supporting 8645f5050Syouri * documentation, and that the name of M.I.T. not be used in advertising 9645f5050Syouri * or publicity pertaining to distribution of the software without specific, 10645f5050Syouri * written prior permission. M.I.T. makes no representations about the 11645f5050Syouri * suitability of this software for any purpose. It is provided "as is" 12645f5050Syouri * without express or implied warranty. 13645f5050Syouri * 14645f5050Syouri * M.I.T. DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, INCLUDING ALL 15645f5050Syouri * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL M.I.T. 16645f5050Syouri * BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES 17645f5050Syouri * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION 18645f5050Syouri * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN 19645f5050Syouri * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. 20645f5050Syouri */ 21645f5050Syouri/* 22645f5050Syouri * [ ctwm ] 23645f5050Syouri * 24645f5050Syouri * Copyright 1992 Claude Lecommandeur. 25645f5050Syouri * 26645f5050Syouri * Permission to use, copy, modify and distribute this software [ctwm] and 27645f5050Syouri * its documentation for any purpose is hereby granted without fee, provided 28645f5050Syouri * that the above copyright notice appear in all copies and that both that 29645f5050Syouri * copyright notice and this permission notice appear in supporting documen- 30645f5050Syouri * tation, and that the name of Claude Lecommandeur not be used in adverti- 31645f5050Syouri * sing or publicity pertaining to distribution of the software without 32645f5050Syouri * specific, written prior permission. Claude Lecommandeur make no represen- 33645f5050Syouri * tations about the suitability of this software for any purpose. It is 34645f5050Syouri * provided "as is" without express or implied warranty. 35645f5050Syouri * 36645f5050Syouri * Claude Lecommandeur DISCLAIM ALL WARRANTIES WITH REGARD TO THIS SOFTWARE, 37645f5050Syouri * INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO 38645f5050Syouri * EVENT SHALL Claude Lecommandeur BE LIABLE FOR ANY SPECIAL, INDIRECT OR 39645f5050Syouri * CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF 40645f5050Syouri * USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR 41645f5050Syouri * OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 42645f5050Syouri * PERFORMANCE OF THIS SOFTWARE. 43645f5050Syouri * 44645f5050Syouri * Author: Claude Lecommandeur [ lecom@sic.epfl.ch ][ April 1992 ] 45645f5050Syouri */ 46645f5050Syouri 47645f5050Syouri/*********************************************************************** 48645f5050Syouri * 49645f5050Syouri * $XConsortium: iconmgr.h,v 1.11 89/12/10 17:47:02 jim Exp $ 50645f5050Syouri * 51645f5050Syouri * Icon Manager includes 52645f5050Syouri * 53645f5050Syouri * 09-Mar-89 Tom LaStrange File Created 54645f5050Syouri * 55645f5050Syouri ***********************************************************************/ 56645f5050Syouri 57645f5050Syouri#ifndef _ICONMGR_ 58645f5050Syouri#define _ICONMGR_ 59645f5050Syouri 60645f5050Syouristruct WList 61645f5050Syouri{ 62645f5050Syouri struct WList *next; 63645f5050Syouri struct WList *prev; 64645f5050Syouri struct WList *nextv; /* pointer to the next virtual Wlist C.L. */ 65645f5050Syouri struct TwmWindow *twm; 66645f5050Syouri struct IconMgr *iconmgr; 67645f5050Syouri Window w; 68645f5050Syouri Window icon; 69645f5050Syouri int x, y, width, height; 70645f5050Syouri int row, col; 71645f5050Syouri int me; 72645f5050Syouri ColorPair cp; 73645f5050Syouri Pixel highlight; 74645f5050Syouri Pixmap iconifypm; 75645f5050Syouri unsigned top, bottom; 76645f5050Syouri short active; 77645f5050Syouri short down; 78645f5050Syouri}; 79645f5050Syouri 80645f5050Syouristruct IconMgr 81645f5050Syouri{ 82645f5050Syouri struct IconMgr *next; /* pointer to the next icon manager */ 83645f5050Syouri struct IconMgr *prev; /* pointer to the previous icon mgr */ 84645f5050Syouri struct IconMgr *lasti; /* pointer to the last icon mgr */ 85645f5050Syouri struct IconMgr *nextv; /* pointer to the next virtual icon mgr C.L. */ 86645f5050Syouri struct WList *first; /* first window in the list */ 87645f5050Syouri struct WList *last; /* last window in the list */ 88645f5050Syouri struct WList *active; /* the active entry */ 89645f5050Syouri TwmWindow *twm_win; /* back pointer to the new parent */ 90645f5050Syouri struct ScreenInfo *scr; /* the screen this thing is on */ 91645f5050Syouri int vScreen; /* the virtual screen this thing is on */ 92645f5050Syouri Window w; /* this icon manager window */ 93645f5050Syouri char *geometry; /* geometry string */ 94645f5050Syouri char *name; 95645f5050Syouri char *icon_name; 96645f5050Syouri int x, y, width, height; 97645f5050Syouri int columns, cur_rows, cur_columns; 98645f5050Syouri int count; 99645f5050Syouri}; 100645f5050Syouri 101645f5050Syouriextern int iconmgr_textx; 102645f5050Syouriextern WList *DownIconManager; 103645f5050Syouri 104645f5050Syouriextern void CreateIconManagers(void); 105645f5050Syouriextern IconMgr *AllocateIconManager(char *name, char *geom, char *icon_name, 106645f5050Syouri int columns); 107645f5050Syouriextern void MoveIconManager(int dir); 108645f5050Syouriextern void MoveMappedIconManager(int dir); 109645f5050Syouriextern void JumpIconManager(register int dir); 110645f5050Syouriextern WList *AddIconManager(TwmWindow *tmp_win); 111645f5050Syouriextern void InsertInIconManager(IconMgr *ip, WList *tmp, TwmWindow *tmp_win); 112645f5050Syouriextern void RemoveFromIconManager(IconMgr *ip, WList *tmp); 113645f5050Syouriextern void RemoveIconManager(TwmWindow *tmp_win); 114645f5050Syouriextern void CurrentIconManagerEntry(WList *current); 115645f5050Syouriextern void ActiveIconManager(WList *active); 116645f5050Syouriextern void NotActiveIconManager(WList *active); 117645f5050Syouriextern void DrawIconManagerBorder(WList *tmp, int fill); 118645f5050Syouriextern void SortIconManager(IconMgr *ip); 119645f5050Syouriextern void PackIconManager(IconMgr *ip); 120645f5050Syouri 121645f5050Syouri 122645f5050Syouri#endif /* _ICONMGR_ */ 123