diff options
author | Dave Chapman <dave@dchapman.com> | 2006-09-15 11:39:38 +0000 |
---|---|---|
committer | Dave Chapman <dave@dchapman.com> | 2006-09-15 11:39:38 +0000 |
commit | b3f9faa5eb798de7d6d438384dac5a0f3c922cff (patch) | |
tree | 0c0d4cc4bd5539b6919bb802b948b4cc557abee1 /apps/plugins/zxbox | |
parent | 4f06fe61fce0443268a2a8ea581899f3d16cc8e6 (diff) |
Oops - these files shouldn't have been committed.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@10952 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'apps/plugins/zxbox')
-rw-r--r-- | apps/plugins/zxbox/COPYING | 339 | ||||
-rw-r--r-- | apps/plugins/zxbox/acconfig.h | 43 | ||||
-rw-r--r-- | apps/plugins/zxbox/akey.h | 111 | ||||
-rw-r--r-- | apps/plugins/zxbox/ax.c | 815 | ||||
-rw-r--r-- | apps/plugins/zxbox/ax.h | 114 | ||||
-rw-r--r-- | apps/plugins/zxbox/menu.h | 1 |
6 files changed, 0 insertions, 1423 deletions
diff --git a/apps/plugins/zxbox/COPYING b/apps/plugins/zxbox/COPYING deleted file mode 100644 index b8dec3ec35..0000000000 --- a/apps/plugins/zxbox/COPYING +++ /dev/null @@ -1,339 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 675 Mass Ave, Cambridge, MA 02139, USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) 19yy <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) 19yy name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/apps/plugins/zxbox/acconfig.h b/apps/plugins/zxbox/acconfig.h deleted file mode 100644 index 57031096e8..0000000000 --- a/apps/plugins/zxbox/acconfig.h +++ /dev/null @@ -1,43 +0,0 @@ - -/* Define this on i386 architectures if the C compiler generates symbols - beginning with underscores, eg. on old aout versions of Linux */ -#undef AOUT_FORMAT - -/* Define this to enable running in background on the Linux console. - Works only with SVGALIB 1.2.11 or newer */ -#undef RUN_IN_BACKGROUND - -/* Define this if Xlib has the MITSHM extension */ -#undef HAVE_MITSHM - -/* Define this if program can query MITSHM extension */ -#undef HAVE_SHMQUERY - -/* Define this if you have the readline library */ -#undef HAVE_READLINE - -/* Define this to use the C version of the program insead of the - i386 assembly. Define this on non intel machines */ -#undef Z80C - -/* Always define this for the spectrum emulator. */ -#undef SPECT_MEM - -/* Define if sound driver is available. */ -#undef HAVE_SOUND - -/* Define if sound driver is Open Sound System (OSS) */ -#undef OSS_SOUND - -/* Define if sound driver is SUN */ -#undef SUN_SOUND - -/* Define this to use the inline intel assembly sections */ -#undef I386_ASM - -/* Define this to use an alternative way of passing the z80 processor - data to the z80 instruction emulation functions. May make emulation - faster on some machines, but not on intel, and sparc. */ -#undef PROCP - -@TOP@ diff --git a/apps/plugins/zxbox/akey.h b/apps/plugins/zxbox/akey.h deleted file mode 100644 index 033f034da5..0000000000 --- a/apps/plugins/zxbox/akey.h +++ /dev/null @@ -1,111 +0,0 @@ -/* - * Copyright (C) 1996-1998 Szeredi Miklos - * Email: mszeredi@inf.bme.hu - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. See the file COPYING. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -/* akey.h - * - * Header of the AKEY module - * - * Keyboard handeling routines and key identification labels - * - * Created: 92/12/01 Szeredi Miklos - */ - - -#ifndef _AKEY_H -#define _AKEY_H - - -#define NOKEY -1 -#define UNKNOWNKEY -2 -#define ERRKEY -3 -#define MOUSEKEY -256 - -#define UPKEY (256 + 1) -#define DOWNKEY (256 + 2) -#define RIGHTKEY (256 + 3) -#define LEFTKEY (256 + 4) -#define INSKEY (256 + 5) -#define DELKEY (256 + 6) -#define HOMEKEY (256 + 7) -#define ENDKEY (256 + 8) -#define PUKEY (256 + 9) -#define PDKEY (256 + 10) -#define BSKEY (256 + 16) - -#define FKEYOFFS (256 + 128) -#define FKEYFIRST (FKEYOFFS + 1) -#define FKEYLAST (FKEYOFFS + 12) -#define FKEY(num) (FKEYOFFS + num) - -#define ALTKEY (1 << 11) -#define CTRKEY (1 << 10) -#define SHKEY (1 << 9) - -#define BKTABKEY (TABKEY | SHKEY) - -#define CTL(ch) ((ch) - 96) -#define META(ch) ((ch) | ALTKEY) - -#define TABKEY 9 -#define LFKEY 13 -#define CRKEY 10 -#define ENTERKEY LFKEY -#define ESCKEY 27 - -#define lastakey() __lastakey -#define waitakey() ((void)readakey()) -#define setakey(key) ((void)(__lastakey = (key))) -#define setakeydo(todo) (__atodo = (todo)) - - -typedef int keytype; -typedef void (*__atodotype)(void); -#ifdef __cplusplus -extern "C" { -#endif - -extern __atodotype __atodo; - -extern keytype __lastakey; - - extern keytype getakey(void); -/* extern void setakey(keytype); */ /* MACRO */ - extern keytype readakey(void); -/* extern keytype lastakey(void); */ /* MACRO */ -/* extern void waitakey(void); */ /* MACRO */ - extern int pressedakey(void); - extern void clearakeybuff(void); -/* extern void setakeydo(dofn __atodotype); */ /* MACRO */ - extern void ungetakey(void); - extern int insertakey(keytype key); - extern void setasmalldelay(int delay); - - extern int initakey(void); - extern void closeakey(void); - -#ifdef __cplusplus -} -#endif - - -#endif /* _AKEY_H */ - -/* End of akey.h */ - diff --git a/apps/plugins/zxbox/ax.c b/apps/plugins/zxbox/ax.c deleted file mode 100644 index c7db7f5c6b..0000000000 --- a/apps/plugins/zxbox/ax.c +++ /dev/null @@ -1,815 +0,0 @@ -/* - * Copyright (C) 1996-1998 Szeredi Miklos - * Email: mszeredi@inf.bme.hu - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. See the file COPYING. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -/* - * - * ax.c - * - * - * - * Created: 94/11/11 Szeredi Miklos - * - * Version: 0.1 94/11/11 - * 0.2 95/06/12 - * - */ - -/* #define DEBUG_EVENTS */ - -#include "ax.h" -#include <X11/Xutil.h> -#include <X11/Xresource.h> - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#include <sys/time.h> -#include <sys/types.h> -#include <signal.h> - - -#ifndef TRUE -#define TRUE 1 -#endif -#ifndef FALSE -#define FALSE 0 -#endif -typedef int boolean; -#define max(x, y) ((x) < (y) ? (y) : (x)) -#define min(x, y) ((x) < (y) ? (x) : (y)) -#define minmax(a, l, u) ((a) < (l) ? (l) : ((a) > (u) ? (u) : (a))) - -#define MAX_PROG_NAME_LEN 128 -#define MAX_CLASS_NAME_LEN MAX_PROG_NAME_LEN -#define MAX_PRES_LEN 256 -#define MAX_FILENAME_LEN 1024 - -static const char *empty_str = ""; - -typedef void (*eventproc_t)(XEvent *, void *); - -typedef struct _event_proc_struct { - eventproc_t event_proc; - unsigned long event_mask; - Display *disp; - void *ptr; - Window event_win; - boolean done_proc; - struct _event_proc_struct *next_proc; -} event_proc_struct; - -typedef struct { - const char *event_name; - boolean win_given; - event_proc_struct *next_proc; -} event_struct; - -typedef struct _disp_struct{ - Display *disp; - XFontStruct *font; - struct _disp_struct *next_disp; -} disp_struct; - - -#define EVENT_NUM LASTEvent - -static event_struct event_info[EVENT_NUM]; - -static disp_struct disp_start = {NULL, NULL, NULL}; - -static boolean disp_chain_modified; - -static char prog_name[MAX_PROG_NAME_LEN + 1]; -static char class_name[MAX_CLASS_NAME_LEN + 1]; - -static XrmDatabase rDB = NULL; /* Has to be global otherwise Xlib hangs */ - -static int opTableEntries = 19; -static aX_options opTable[] = { - {"-display", ".display", XrmoptionSepArg, NULL}, - {"-geometry", ".geometry", XrmoptionSepArg, NULL}, - {"-bg", ".background", XrmoptionSepArg, NULL}, - {"-background", ".background", XrmoptionSepArg, NULL}, - {"-bd", ".borderColor", XrmoptionSepArg, NULL}, - {"-bordercolor", ".borderColor", XrmoptionSepArg, NULL}, - {"-bw", ".borderWidth", XrmoptionSepArg, NULL}, - {"-borderwidth", ".borderWidth", XrmoptionSepArg, NULL}, - {"-fg", ".foreground", XrmoptionSepArg, NULL}, - {"-foreground", ".foreground", XrmoptionSepArg, NULL}, - {"-fn", ".font", XrmoptionSepArg, NULL}, - {"-font", ".font", XrmoptionSepArg, NULL}, - {"-name", ".name", XrmoptionSepArg, NULL}, - {"-rv", ".reverseVideo", XrmoptionNoArg, "on"}, - {"-reverse", ".reverseVideo", XrmoptionNoArg, "on"}, - {"+rv", ".reverseVideo", XrmoptionNoArg, "off"}, - {"-bg", ".background", XrmoptionSepArg, NULL}, - {"-title", ".title", XrmoptionSepArg, NULL}, - {"-xrm", NULL, XrmoptionResArg, NULL} -}; - -static char *addstr(const char str1[], const char str2[], char str12[], - unsigned int str12len) -{ - unsigned int i, j, k; - - str12[str12len-1] = '\0'; - - for(i=0, j=0, k=0; i + 1 < str12len; ) { - if(str1[j]) str12[i] = str1[j++]; - else str12[i] = str2[k++]; - if(! str12[i++]) break; - } - return str12; -} - - -static char *pname(const char *resource) { - static char pnameres[MAX_PRES_LEN]; - - return addstr(prog_name, resource, pnameres, MAX_PRES_LEN); -} - -static char *pclass(const char *resource) { - static char pclassres[MAX_PRES_LEN]; - - return addstr(class_name, resource, pclassres, MAX_PRES_LEN); -} - - -static void fill_event_info(void) -{ - int i; - - for(i = 0; i < EVENT_NUM; i++) { - event_info[i].event_name = empty_str; - event_info[i].win_given = TRUE; - event_info[i].next_proc = NULL; - } - - event_info[MappingNotify].win_given = FALSE; - - event_info[ButtonPress].event_name = "ButtonPress"; - event_info[ButtonRelease].event_name = "ButtonRelease"; - event_info[CirculateNotify].event_name = "CirculateNotify"; - event_info[CirculateRequest].event_name = "CirculateRequest"; - event_info[ClientMessage].event_name = "ClientMessage"; - event_info[ColormapNotify].event_name = "ColormapNotify"; - event_info[ConfigureNotify].event_name = "ConfigureNotify"; - event_info[ConfigureRequest].event_name = "ConfigureRequest"; - event_info[CreateNotify].event_name = "CreateNotify"; - event_info[DestroyNotify].event_name = "DestroyNotify"; - event_info[EnterNotify].event_name = "EnterNotify"; - event_info[LeaveNotify].event_name = "LeaveNotify"; - event_info[Expose].event_name = "Expose"; - event_info[FocusIn].event_name = "FocusIn"; - event_info[FocusOut].event_name = "FocusOut"; - event_info[GraphicsExpose].event_name = "GraphicsExpose"; - event_info[NoExpose].event_name = "NoExpose"; - event_info[GravityNotify].event_name = "GravityNotify"; - event_info[KeymapNotify].event_name = "KeymapNotify"; - event_info[KeyPress].event_name = "KeyPress"; - event_info[KeyRelease].event_name = "KeyRelease"; - event_info[MapNotify].event_name = "MapNotify"; - event_info[UnmapNotify].event_name = "UnmapNotify"; - event_info[MappingNotify].event_name = "MappingNotify"; - event_info[MapRequest].event_name = "MapRequest"; - event_info[MotionNotify].event_name = "MotionNotify"; - event_info[PropertyNotify].event_name = "PropertyNotify"; - event_info[ReparentNotify].event_name = "ReparentNotify"; - event_info[ResizeRequest].event_name = "ResizeRequest"; - event_info[SelectionClear].event_name = "SelectionClear"; - event_info[SelectionNotify].event_name = "SelectionNotify"; - event_info[SelectionRequest].event_name = "SelectionRequest"; - event_info[VisibilityNotify].event_name = "VisibilityNotify"; - -} - -static void get_def_res(aX_default_resources *defres) -{ - XrmValue value; - char *str_type; - int flags; - XColor color_def; - unsigned long tmp_pixel; - Colormap def_map; - int font_spec; - - - defres->window_name = prog_name; - defres->icon_name = prog_name; - - - defres->scr = DefaultScreen(defres->disp); - defres->scr_ptr = ScreenOfDisplay(defres->disp, defres->scr); - def_map = DefaultColormapOfScreen(defres->scr_ptr); - - - if(XrmGetResource(rDB, pname(".title"), pclass(".Title"), - &str_type, &value)) - defres->window_name = (char *) value.addr; - - defres->sflags = PSize; - if(XrmGetResource(rDB, pname(".geometry"), pclass(".Geometry"), - &str_type, &value)) { - flags = XParseGeometry((char *) value.addr, &(defres->x), &(defres->y), - &(defres->width), &(defres->height)); - if((XValue | YValue) & flags) defres->sflags |= USPosition; - if((WidthValue | HeightValue) & flags) - defres->sflags = (defres->sflags & ~PSize) | USSize; - } - - defres->background = defres->background ? - WhitePixel(defres->disp, defres->scr) : - BlackPixel(defres->disp, defres->scr); - - if(XrmGetResource(rDB, pname(".background"), pclass(".Background"), - &str_type, &value)) { - if(XParseColor(defres->disp, def_map, value.addr, &color_def)) { - if(XAllocColor(defres->disp, def_map, &color_def)) - defres->background = color_def.pixel; - } - else fprintf(stderr, "%s: aX: warning: Invalid color specification %s\n", - prog_name, value.addr); - } - - defres->foreground = defres->foreground ? - WhitePixel(defres->disp, defres->scr) : - BlackPixel(defres->disp, defres->scr); - - if(XrmGetResource(rDB, pname(".foreground"), pclass(".Foreground"), - &str_type, &value)) { - if(XParseColor(defres->disp, def_map, value.addr, &color_def)) { - if(XAllocColor(defres->disp, def_map, &color_def)) - defres->foreground = color_def.pixel; - } - else fprintf(stderr, "%s: aX: warning: Invalid color specification %s\n", - prog_name, value.addr); - } - - if(XrmGetResource(rDB, pname(".borderWidth"), pclass(".BorderWidth"), - &str_type, &value)) { - defres->border_width = atoi(value.addr); - } - - defres->border_color = defres->foreground; - if(XrmGetResource(rDB, pname(".borderColor"), pclass(".BorderColor"), - &str_type, &value)) { - if(XParseColor(defres->disp, def_map, value.addr, &color_def)) { - if(XAllocColor(defres->disp, def_map, &color_def)) - defres->border_color = color_def.pixel; - } - else fprintf(stderr, "%s: aX: warning: Invalid color specification %s\n", - prog_name, value.addr); - } - - font_spec = 0; - if(XrmGetResource(rDB, pname(".font"), pclass(".Font"), - &str_type, &value)) { - defres->font_name = value.addr; - if(defres->font_name != NULL) font_spec = 1; - - } - - if(XrmGetResource(rDB, pname(".fallbackFont"), pclass(".Font"), - &str_type, &value)) - defres->fallback_font_name = value.addr; - - if(defres->font_name == NULL || - (defres->font = XLoadQueryFont(defres->disp, defres->font_name)) - == NULL) { - - if(font_spec) - fprintf(stderr, "%s: aX: warning: cannot open %s font, ", - prog_name, defres->font_name); - - defres->font_name = defres->fallback_font_name; - - if(font_spec && defres->font_name != NULL) - fprintf(stderr, "trying %s...\n",defres->font_name); - - if(defres->font_name == NULL || - (defres->font = - XLoadQueryFont(defres->disp, defres->fallback_font_name)) == NULL) { - - if(defres->font_name != NULL) { - - fprintf(stderr, "%s: aX: warning: cannot open %s font, ", - prog_name, defres->font_name); - } - - defres->font_name = "fixed"; - - fprintf(stderr, "trying %s...\n",defres->font_name); - - if((defres->font = XLoadQueryFont(defres->disp, defres->font_name)) - == NULL) { - - fprintf(stderr, "%s: aX: warning: cannot open %s font\n", - prog_name, defres->font_name); - - exit(-1); - } - } - else defres->font_name = defres->fallback_font_name; - } - - if(XrmGetResource(rDB, pname(".reverseVideo"), pclass(".ReverseVideo"), - &str_type, &value)) - if(strcmp(value.addr, "on") == 0) { - tmp_pixel = defres->foreground; - defres->foreground = defres->background; - defres->background = tmp_pixel; - } - -} - - -static void add_disp(aX_default_resources *defres) -{ - disp_struct *last; - - for(last = &disp_start; last->next_disp != NULL; last = last->next_disp); - - if((last->next_disp = malloc(sizeof(disp_struct))) == NULL) { - fprintf(stderr, "%s: aX: Not enough memory.\n", prog_name); - exit(-1); - }; - - last = last->next_disp; - - last->disp = defres->disp; - last->font = defres->font; - last->next_disp = NULL; - - - disp_chain_modified = TRUE; -} - -void aX_open_disp(aX_options *useropt, int useroptlen, - int *argcp, char *argv[], - aX_default_resources *defres) -{ - - XrmValue value; - char *str_type; - char *disp_res; - char *environment; - char *display_name = NULL; - char filename[MAX_FILENAME_LEN]; - int i; - XrmDatabase commandlineDB = NULL, usercommandlineDB = NULL; - XrmDatabase homeDB, serverDB, applicationDB; - -/* - if(disp_start.next_disp != NULL) { - fprintf(stderr, "aX_open_disp: Cannot open first display twice.\n"); - exit(-1); - } -*/ - - XrmInitialize(); - - class_name[0] = '\0'; - class_name[MAX_CLASS_NAME_LEN] = '\0'; - if(defres->class_name != NULL) - strncpy(class_name, defres->class_name, MAX_CLASS_NAME_LEN); - - - fill_event_info(); - - for(i = 1; i < *argcp; i++) - if(strcmp(argv[i], "-name") == 0 && ++i < *argcp){ - defres->prog_name = argv[i]; - break; - } - - - prog_name[0] = '\0'; - prog_name[MAX_PROG_NAME_LEN] = '\0'; - if(defres->prog_name != NULL) - strncpy(prog_name, defres->prog_name, MAX_PROG_NAME_LEN); - else - strncpy(prog_name, argv[0], MAX_PROG_NAME_LEN); - - defres->prog_name = prog_name; - - XrmParseCommand(&commandlineDB, (XrmOptionDescRec *) opTable, - opTableEntries, prog_name, argcp, argv); - - if(useropt != NULL) - XrmParseCommand(&usercommandlineDB, (XrmOptionDescRec *) useropt, - useroptlen, prog_name, argcp, argv); - else usercommandlineDB = NULL; - -/* - if(*argcp != 1) { - fprintf(stderr, - "%s: aX_open_disp: Unrecognised options in command line!\n", - prog_name); - exit(-1); - } -*/ - - if(XrmGetResource(commandlineDB, pname(".display"), pclass(".Display"), - &str_type, &value)) display_name = (char *) value.addr; - - if((defres->disp = XOpenDisplay(display_name)) == NULL) { - fprintf(stderr, "%s: aX_open_disp: cannot connect to X server %s\n", - prog_name, XDisplayName(display_name)); - exit(-1); - } - - applicationDB = XrmGetFileDatabase( - addstr("/usr/lib/X11/app-defaults/", - class_name, - filename, - MAX_FILENAME_LEN)); -/* - if(defres->disp->xdefaults) - serverDB = XrmGetStringDatabase(defres->disp->xdefaults); - else serverDB = NULL; -*/ - - - disp_res = XResourceManagerString(defres->disp); - - if(disp_res) serverDB = XrmGetStringDatabase(disp_res); - else serverDB = NULL; - - - if((environment = getenv("XENVIRONMENT")) != NULL) - homeDB = XrmGetFileDatabase(environment); - else homeDB = NULL; - - - XrmMergeDatabases(applicationDB, &rDB); - XrmMergeDatabases(serverDB, &rDB); - XrmMergeDatabases(homeDB, &rDB); - XrmMergeDatabases(commandlineDB, &rDB); - XrmMergeDatabases(usercommandlineDB, &rDB); - - get_def_res(defres); - - add_disp(defres); - -} - - -void aX_open_second_disp(char *display_name, - aX_default_resources *defres) -{ - char *disp_res; - - XrmDatabase serverDB; - - - if((defres->disp = XOpenDisplay(display_name)) == NULL) { - fprintf(stderr, - "%s: aX_open_second_disp: cannot connect to X server %s\n", - prog_name, XDisplayName(display_name)); - exit(-1); - } - - - disp_res = XResourceManagerString(defres->disp); - - if(disp_res) serverDB = XrmGetStringDatabase(disp_res); - else serverDB = NULL; - - - XrmMergeDatabases(serverDB, &rDB); - - get_def_res(defres); - - add_disp(defres); -} - -/* - -void smallwait(boolean event_prev) -{ - event_prev = event_prev; - sleep(1); -} - -*/ - - -static void sigalrm_handler(int i) -{ - i = i; - signal(SIGALRM, SIG_IGN); -} - - -static void smallwait(boolean event_prev) -{ - struct itimerval value; - - signal(SIGALRM, sigalrm_handler); - - event_prev = event_prev; - - value.it_interval.tv_sec = 0L; - value.it_interval.tv_usec = 0L; - value.it_value.tv_sec = 0L; - value.it_value.tv_usec = 100000L; - setitimer(ITIMER_REAL, &value, NULL); - - pause(); -} - -/* This aX_wait_all_muck needs to be cleared out! */ - -void aX_wait_event(int eventtype) -{ - XEvent ev; - event_proc_struct **curr; - int i; - disp_struct *dsp, *dsp1; - - boolean event_prev; - - -start:; - - if(disp_start.next_disp == NULL) { - fprintf(stderr, "%s: aX_wait_event: No connection to any display\n", - prog_name); - exit(-1); - } - - dsp = disp_start.next_disp; - - - do { - event_prev = TRUE; - - dsp1 = dsp; - if((disp_start.next_disp)->next_disp != NULL || - eventtype == AX_LOOK_EVENTS) - while(XPending(dsp->disp) == 0) { - dsp = dsp->next_disp; - if(dsp == NULL) dsp = disp_start.next_disp; - - if(dsp == dsp1) { - if(eventtype == AX_LOOK_EVENTS) return; - - smallwait(event_prev); - event_prev = FALSE; - dsp = dsp1 = disp_start.next_disp; - } - } - - XNextEvent(dsp->disp, &ev); -#ifdef DEBUG_EVENTS - fprintf(stderr,"Event: %s (%i) in win: %li)\n", - event_info[ev.type].event_name, - ev.type, - ev.xany.window); -#endif - - - if(dsp->disp != ev.xany.display) - fprintf(stderr, "Ha! Event read from wrong display! Stupid XLib!!!\n"); - - curr = &(event_info[ev.type].next_proc); - i = 0; - while(*curr != NULL) { - if((*curr)->disp == dsp->disp && - (!event_info[ev.type].win_given || - ev.xany.window == (*curr)->event_win) && - !(*curr)->done_proc) { - i++; - (*curr)->done_proc = TRUE; - disp_chain_modified = FALSE; - - if((*curr)->event_proc != NULL) { - (*((*curr)->event_proc))(&ev, (*curr)->ptr); - } - - if(disp_chain_modified) goto start; - curr = &(event_info[ev.type].next_proc); - } - else curr = &((*curr)->next_proc); - } - curr = &(event_info[ev.type].next_proc); - while(*curr != NULL) { - (*curr)->done_proc = FALSE; - curr = &((*curr)->next_proc); - } - - if(i == 0) - fprintf(stderr, "%s: aX_wait_event: warning: " - "Unexpected event: %s (%i) in win: %li)\n", - prog_name, - event_info[ev.type].event_name, - ev.type, - ev.xany.window); - - } while(eventtype != ev.type && eventtype != AX_ANY_EVENT); -} - - -void aX_look_events(void) -{ - aX_wait_event(AX_LOOK_EVENTS); -} - -char *aX_get_prog_res(const char *resname, const char* resclass) -{ - XrmValue value; - char *str_type; - - if(XrmGetResource(rDB, pname(resname), pclass(resclass), - &str_type, &value)) - return (char *)value.addr; - else return NULL; -} - -char *aX_get_resource(const char *resname, const char* resclass) -{ - XrmValue value; - char *str_type; - - if(XrmGetResource(rDB, resname, resclass, - &str_type, &value)) - return (char *)value.addr; - else return NULL; -} - -static long get_win_mask(Display *disp, Window win) -{ - int evt; - event_proc_struct *ep; - long winmask; - - for(evt = 0, winmask = 0; evt < EVENT_NUM; evt++) { - ep = event_info[evt].next_proc; - while(ep != NULL) { - if(ep->event_win == win && ep->disp == disp) winmask |= ep->event_mask; - ep = ep->next_proc; - } - } - return winmask; -} - - - -void aX_add_event_proc(Display *disp, - Window win, - int eventtype, - void (*eventproc)(XEvent *, void *), - unsigned long eventmask, - void *ptr) -{ - event_proc_struct **epp; - long winmask; - - epp = &(event_info[eventtype].next_proc); - while(*epp != NULL) epp = &((*epp)->next_proc); - - if((*epp = (event_proc_struct *) - malloc((size_t) sizeof(event_proc_struct))) == NULL) { - fprintf(stderr, - "%s: aX_add_event_proc_disp: Not enough memory.\n", prog_name); - exit(-1); - } - - (*epp)->event_proc = eventproc; - (*epp)->ptr = ptr; - (*epp)->event_mask = eventmask; - (*epp)->disp = disp; - (*epp)->event_win = win; - (*epp)->done_proc = FALSE; - (*epp)->next_proc = NULL; - - if(win) { - winmask = get_win_mask(disp, win); - XSelectInput(disp, win, winmask); - } -} - -void aX_remove_event_proc(Display *disp, - Window win, - int eventtype, - void (*eventproc)(XEvent *, void *)) -{ - event_proc_struct **epp; - event_proc_struct *tmp; - long winmask; - - epp = &(event_info[eventtype].next_proc); - while(*epp != NULL) { - if((*epp)->disp == disp && - (*epp)->event_win == win && - (*epp)->event_proc == eventproc) { - tmp = (*epp)->next_proc; - free(*epp); - *epp = tmp; - if(win) { - winmask = get_win_mask(disp, win); - XSelectInput(disp, win, winmask); - } - return; - } - else epp = &((*epp)->next_proc); - } - fprintf(stderr, "%s: aX_remove_event_proc_disp: warning: " - "Could not remove event proc (event: %s (%i), window: %lX)\n", - prog_name, event_info[eventtype].event_name, eventtype, win); - -} - -void aX_close_one_disp(Display *disp) -{ -/* int evt; - event_proc_struct **curr; */ - disp_struct *dsp, *dsp_tmp; - -/* - for(evt = 0; evt < EVENT_NUM; evt++) { - curr = &(event_info[evt].next_proc); - while(*curr != NULL) { - if(disp == (*curr)->disp) { - aX_remove_event_proc_disp((*curr)->disp, (*curr)->event_win, - evt, (*curr)->event_proc); - curr = &(event_info[evt].next_proc); - } - else curr = &((*curr)->next_proc); - } - } - -*/ - - for(dsp = &disp_start; dsp->next_disp->disp != disp; dsp = dsp->next_disp) - if(dsp->next_disp == NULL) { - fprintf(stderr, - "%s: aX_close_one_disp: warning: Trying to close unopened display.\n", - prog_name); - return; - } - - XUnloadFont(dsp->next_disp->disp, dsp->next_disp->font->fid); - XCloseDisplay(dsp->next_disp->disp); - - dsp_tmp = dsp->next_disp; - dsp->next_disp = dsp->next_disp->next_disp; - free(dsp_tmp); - - disp_chain_modified = TRUE; - -} - -void aX_close_disp(void) -{ - - while(disp_start.next_disp != NULL) - aX_close_one_disp(disp_start.next_disp->disp); - -} - - -unsigned long aX_get_color(Display *disp, int scr, unsigned long def_col, - const char *color_name) -{ - XColor color_def; - Colormap def_map; - Screen *scr_ptr; - - - if(color_name == NULL) return def_col; - - scr_ptr = ScreenOfDisplay(disp, scr); - def_map = DefaultColormapOfScreen(scr_ptr); - - if(XParseColor(disp, def_map, color_name, &color_def)) { - if(XAllocColor(disp, def_map, &color_def)) - return color_def.pixel; - } - else fprintf(stderr, - "%s: aX_get_color: warning: Invalid color specification %s\n", - prog_name, color_name); - - return def_col; - -} diff --git a/apps/plugins/zxbox/ax.h b/apps/plugins/zxbox/ax.h deleted file mode 100644 index 5c4784df6a..0000000000 --- a/apps/plugins/zxbox/ax.h +++ /dev/null @@ -1,114 +0,0 @@ -/* - * Copyright (C) 1996-1998 Szeredi Miklos - * Email: mszeredi@inf.bme.hu - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. See the file COPYING. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. - * - */ - -/* ax.h - * - * Header of the AX module - * - * - * Created: 94/11/11 Szeredi Miklos - */ - - -#ifndef _AX_H -#define _AX_H - -#include <X11/Xlib.h> -#include <X11/Xresource.h> - -/*typedef XrmOptionDescRec aX_options; */ - -typedef struct { - const char *option; /* Option abbreviation in argv */ - const char *specifier; /* Resource specifier */ - XrmOptionKind argKind; /* Which style of option it is */ - const char *value; /* Value to provide if XrmoptionNoArg */ -} aX_options; - - -#define AX_NO_EVENT LASTEvent -#define AX_ANY_EVENT 0 -#define AX_LOOK_EVENTS -1 - -typedef struct{ - Display *disp; - int scr; - Screen *scr_ptr; - unsigned int width; - unsigned int height; - int x; - int y; - unsigned int border_width; - unsigned long foreground; - unsigned long background; - unsigned long border_color; - const char *font_name; - const char *fallback_font_name; - XFontStruct *font; - long sflags; - const char *prog_name; - const char *class_name; - char *window_name; - char *icon_name; - } aX_default_resources; - - -#ifdef __cplusplus -extern "C" { -#endif - - -extern void aX_open_disp(aX_options *useropt, int useroptlen, - int *argcp, char *argv[], - aX_default_resources *defres); -extern void aX_open_second_disp(char *display_name, - aX_default_resources *defres); -extern void aX_wait_event(int eventtype); -extern void aX_look_events(void); -extern char *aX_get_prog_res(const char *resname, const char* resclass); -extern char *aX_get_resource(const char *resname, const char* resclass); - -extern void aX_add_event_proc(Display *disp, - Window win, - int eventtype, - void (*eventproc)(XEvent *, void *), - unsigned long eventmask, - void *ptr); - -extern void aX_remove_event_proc(Display *disp, - Window win, - int eventtype, - void (*eventproc)(XEvent *, void *)); - -extern void aX_close_one_disp(Display *disp); -extern void aX_close_disp(void); -extern unsigned long aX_get_color(Display *disp, int scr, - unsigned long def_col, const char *color_name); - - -#ifdef __cplusplus -} -#endif - - -#endif /* _AX_H */ - -/* End of ax.h */ - diff --git a/apps/plugins/zxbox/menu.h b/apps/plugins/zxbox/menu.h deleted file mode 100644 index b616279880..0000000000 --- a/apps/plugins/zxbox/menu.h +++ /dev/null @@ -1 +0,0 @@ -extern bool zxbox_menu(void); |