diff --git a/!MkClean,fd7 b/!MkClean,fd7 deleted file mode 100644 index 34414490644ae249865ac3ff485af5fa54fe6e00..0000000000000000000000000000000000000000 --- a/!MkClean,fd7 +++ /dev/null @@ -1,16 +0,0 @@ -| Copyright 1997 Acorn Computers Ltd -| -| Licensed under the Apache License, Version 2.0 (the "License"); -| you may not use this file except in compliance with the License. -| You may obtain a copy of the License at -| -| http://www.apache.org/licenses/LICENSE-2.0 -| -| Unless required by applicable law or agreed to in writing, software -| distributed under the License is distributed on an "AS IS" BASIS, -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -| See the License for the specific language governing permissions and -| limitations under the License. -| -Dir <Obey$Dir> -amu_machine clean diff --git a/!MkExpHdr,fd7 b/!MkExpHdr,fd7 deleted file mode 100644 index 1d85a2c0f77018c15b42e237de2fa1cc87a05f96..0000000000000000000000000000000000000000 --- a/!MkExpHdr,fd7 +++ /dev/null @@ -1,16 +0,0 @@ -| Copyright 1997 Acorn Computers Ltd -| -| Licensed under the Apache License, Version 2.0 (the "License"); -| you may not use this file except in compliance with the License. -| You may obtain a copy of the License at -| -| http://www.apache.org/licenses/LICENSE-2.0 -| -| Unless required by applicable law or agreed to in writing, software -| distributed under the License is distributed on an "AS IS" BASIS, -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -| See the License for the specific language governing permissions and -| limitations under the License. -| -Dir <Obey$Dir> -amu_machine export_hdrs diff --git a/!MkExpLib,fd7 b/!MkExpLib,fd7 deleted file mode 100644 index 4825237b6ed5ae91f32402e859dca6b5814f9fc1..0000000000000000000000000000000000000000 --- a/!MkExpLib,fd7 +++ /dev/null @@ -1,16 +0,0 @@ -| Copyright 1997 Acorn Computers Ltd -| -| Licensed under the Apache License, Version 2.0 (the "License"); -| you may not use this file except in compliance with the License. -| You may obtain a copy of the License at -| -| http://www.apache.org/licenses/LICENSE-2.0 -| -| Unless required by applicable law or agreed to in writing, software -| distributed under the License is distributed on an "AS IS" BASIS, -| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -| See the License for the specific language governing permissions and -| limitations under the License. -| -Dir <Obey$Dir> -amu_machine export_libs diff --git a/.gitattributes b/.gitattributes index 3dffdf082ac27c5917f494280f29fb856e3bced8..1f3dca796057b324bb1c90d7d0250606acdb7f49 100644 --- a/.gitattributes +++ b/.gitattributes @@ -1,5 +1,2 @@ hdr/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true s/** gitlab-language=armasm linguist-language=armasm linguist-detectable=true -c/** gitlab-language=c linguist-language=c linguist-detectable=true -h/** gitlab-language=c linguist-language=c linguist-detectable=true -**/h/** gitlab-language=c linguist-language=c linguist-detectable=true diff --git a/Makefile b/Makefile deleted file mode 100644 index 30e5bda320fd25ac9458e853e45c3de2266a0684..0000000000000000000000000000000000000000 --- a/Makefile +++ /dev/null @@ -1,136 +0,0 @@ -# Copyright 1996 Acorn Computers Ltd -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# -# Makefile for tboxlib and debuglib -# -# *********************************** -# *** C h a n g e L i s t *** -# *********************************** -# Date Name Description -# ---- ---- ----------- -# 09 Oct 1997 RWB Tidied up old Toolbox.Common build -# - -# -# Paths -# -LIBDIR = <Lib$Dir> -# -# Generic options: -# -MKDIR = cdir -AS = objasm -CC = cc -CMHG = cmhg -CP = copy -LD = link -RM = remove -WIPE = -wipe -CD = dir -LIBFILE = libfile - -CFLAGS = -c -depend !Depend -Wap -zps0 ${INCLUDES} -fah -Fn ${DFLAGS} -CFLAGSZM = -c -depend !Depend -Wap -zps1 ${INCLUDES} -fah -Fn ${DFLAGS} -zM -CPFLAGS = ~cfr~v -WFLAGS = ~c~v -LIBFILEFLAGS = -c -o $@ - -CCZM= ${CC} ${CFLAGSZM} - -# -# Libraries -# -CLIB = CLIB:o.stubs -RLIB = RISCOSLIB:o.risc_oslib -RSTUBS = RISCOSLIB:o.rstubs -ROMSTUBS = RISCOSLIB:o.romstubs -ROMCSTUBS = RISCOSLIB:o.romcstubs -ABSSYM = RISC_OSLib:o.AbsSym -# -# Include files -# -INCLUDES = -IC:,<Lib$Dir>.tboxlibint. -DFLAGS = - -# Program specific options: -# -TBOXLIB = tboxlib -TBOXLIBZM = tboxlibm -DEBUGLIB = debuglib -DEBUGLIBZM = debuglibm - -EXPORTS = ${LIBDIR}.tboxlibint - -OBJ = o.mem o.messages o.string32 o.rmensure o.objsupport o.slist o.toolboxmem -OBJZM = z.mem z.messages z.string32 z.rmensure z.objsupport z.slist z.toolboxmem - -DBG_OBJ = o.debug -DBG_OBJZM = z.debug - -# -# Rule patterns -# -.SUFFIXES: .z .o .c .s -.c.o:; ${CC} ${CFLAGS} -o $@ $< -.c.z:; ${CCZM} -c -o $@ $< -.s.o:; ${AS} ${ASFLAGS} -o $@ $< -.s.z:; ${AS} ${ASFLAGS} -o $@ $< - -# -# Build -# - -${TBOXLIB}: ${OBJ} - ${LIBFILE} ${LIBFILEFLAGS} ${OBJ} - -${TBOXLIBZM}: ${OBJZM} - ${LIBFILE} ${LIBFILEFLAGS} ${OBJZM} - -${DEBUGLIB}: ${OBJ} ${DBG_OBJ} - ${LIBFILE} ${LIBFILEFLAGS} ${OBJ} ${DBG_OBJ} - -${DEBUGLIBZM}: ${OBJZM} ${DBG_OBJZM} - ${LIBFILE} ${LIBFILEFLAGS} ${OBJZM} ${DBG_OBJZM} - -clean: - ${WIPE} o.* ${WFLAGS} - ${WIPE} z.* ${WFLAGS} - ${WIPE} ${DEBUGLIB} ${WFLAGS} - ${WIPE} ${DEBUGLIBZM} ${WFLAGS} - ${WIPE} ${TBOXLIB} ${WFLAGS} - ${WIPE} ${TBOXLIBZM} ${WFLAGS} - @echo ${DEBUGLIB} and ${TBOXLIB}: cleaned - -export: export_${PHASE} - -export_hdrs: dirs - ${CP} objects ${EXPORTS}.objects ${CPFLAGS} - ${CP} h.* ${EXPORTS}.h.* ${CPFLAGS} - @echo ${DEBUGLIB} and ${TBOXLIB}: export complete (hdrs) - -export_libs: ${TBOXLIB} ${TBOXLIBZM} ${DEBUGLIB} ${DEBUGLIBZM} dirs - ${CP} ${TBOXLIB} ${EXPORTS}.o.${TBOXLIB} ${CPFLAGS} - ${CP} ${TBOXLIBZM} ${EXPORTS}.o.${TBOXLIBZM} ${CPFLAGS} - ${CP} ${DEBUGLIB} ${EXPORTS}.o.${DEBUGLIB} ${CPFLAGS} - ${CP} ${DEBUGLIBZM} ${EXPORTS}.o.${DEBUGLIBZM} ${CPFLAGS} - @echo ${DEBUGLIB} and ${TBOXLIB}: export complete (libs) - - -dirs: - ${MKDIR} ${LIBDIR} - ${MKDIR} ${EXPORTS} - ${MKDIR} ${EXPORTS}.h - ${MKDIR} ${EXPORTS}.o -# -# Dynamic dependencies: diff --git a/VersionNum b/VersionNum deleted file mode 100644 index f09cfdf0b6f5cc920300454c131c55b6858a8a9c..0000000000000000000000000000000000000000 --- a/VersionNum +++ /dev/null @@ -1,14 +0,0 @@ -/* (0.04) - * - * This file is automatically maintained by srccommit, do not edit manually. - * - */ -#define Module_MajorVersion_CMHG 0.04 -#define Module_MinorVersion_CMHG -#define Module_Date_CMHG 17 Mar 1999 - -#define Module_MajorVersion "0.04" -#define Module_Version 4 -#define Module_MinorVersion "" -#define Module_Date "17 Mar 1999" - diff --git a/c/debug b/c/debug deleted file mode 100644 index b6629bdc5c2d72691c8599b10e7f339526b2caae..0000000000000000000000000000000000000000 --- a/c/debug +++ /dev/null @@ -1,196 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: debug.c - * Purpose: debugging routines for the Toolbox - * Author: Ian Johnson - * History: 16-Sep-93: IDJ: created - * - */ - -#include "debug.h" - -#include "swis.h" -#include "kernel.h" -#include <stdarg.h> -#include <string.h> -#include <stdio.h> -#include <ctype.h> - -#ifndef HostFS_HostVDU -#define HostFS_HostVDU 0x40100 -#endif -#ifndef HostFS_TubeVDU -#define HostFS_TubeVDU 0x40101 -#endif -#ifndef HostFS_WriteC -#define HostFS_WriteC 0x40102 -#endif - -static char output_buffer[256]; -static char var_val[256] = ""; -static char debug_var[256] = ""; - -static void host_out (char *format, ...); - - -void debug_dump (void *start, int length) { - - _kernel_swi_regs regs; - char buffer[256]; - char *address = start; - - regs.r[0] = (int)"Hex$Dump"; - regs.r[1] = (int)buffer; - regs.r[2] = 255; - regs.r[3] = 0; - regs.r[4] = 3; - - _kernel_swi (OS_ReadVarVal, ®s, ®s); - - if (regs.r[2] == 0) return; - { - int i, j, k, rows, columns; - int colour, word; - char *ptr, - chr; - enum { black, red, green, yellow, blue, magenta, cyan, white } colours; - char col[8][] = { "\x011\x00", "\x011\x01", "\x011\x02", "\x011\x03", - "\x011\x04", "\x011\x05", "\x011\x06", "\x011\x07"}; - - buffer[regs.r[2]] = '\0'; /* set correct terminator for end of string */ - colour = (int) strstr (buffer, "colour"); - word = (int) strstr (buffer, "word"); - if ((ptr = strstr (buffer,"R")) == NULL) - rows = 24; - else - sscanf (ptr+1, "%d", &rows); - if (rows<3) rows = 3; - - if ((ptr = strstr (buffer,"C")) == NULL) - columns = 16; - else - sscanf (ptr+1, "%d", &columns); - if (columns<4) columns = 4; - - ptr = address; - - while (ptr < address+length) { - host_out ("\n\r%sAddress ",colour?col[white]:""); - for (j=0;j<columns;j += word?4:1) - if (word) - host_out (" %02x ",(((int)ptr+j) & 0xff)); - else - host_out (" %02x",(((int)ptr+j) & 0xff)); - host_out (" Characters\n\r"); - for (i=0;i<rows-2;i++) { - host_out ("%s%08x%s ",colour?col[cyan]:"",(int)ptr,colour?col[red]:""); - for (j=0;j<columns;j += word?4:1) { - if (ptr+j >= address+length) break; - if (word) - host_out (" %08x",*((int *)(ptr+j))); - else - host_out (" %02x",*(ptr+j)); - } - if (j < columns) - for (k=0;k<columns-j;k += word?4:1) - host_out (word?" ":" "); - host_out (" %s",colour?col[magenta]:""); - for (j=0;j<columns;j++) { - if (ptr+j >= address+length) break; - chr = *(ptr+j); - host_out ("%s%c%s",(chr<32?(colour?col[white]:""):""),(chr<32?'.':chr),(chr<32?(colour?col[magenta]:""):"")); - } - ptr += j; - host_out ("\n\r"); - if (ptr >= address+length) break; - } - } - host_out ("\x014"); - } -} - -void host_out (char *format, ...) { - - va_list args; - char *ptr, buffer[1024]; - _kernel_swi_regs regs; - - va_start (args, format); - - vsprintf (buffer, format, args); - - ptr = buffer; - - while (*ptr != '\0') { - regs.r[0] = *ptr; - _kernel_swi (HostFS_WriteC, ®s, ®s); - ptr++; - } - va_end (args); -} - - -extern void debug_set_var_name (char *var_name) -{ - strcpy (debug_var, var_name); -} - - -extern void debug_output (char *allow, char *string, ...) -{ - /* - * Function to output the given variable list down the tube. String is a - * printf format string. String is only printed if the given allow string - * appears in the system variable debug_var - * - */ - - _kernel_swi_regs regs; - _kernel_oserror *e; - va_list args; - char *p; - - va_start(args, string); - - regs.r[0] = (int)debug_var; - regs.r[1] = (int)var_val; - regs.r[2] = 255; - regs.r[3] = 0; - regs.r[4] = 3; - - _kernel_swi (OS_ReadVarVal, ®s, ®s); - var_val[regs.r[2]] = '\0'; - - if ((strstr (var_val, allow) != NULL) || !strcmp (allow, "force")) - { - vsprintf (output_buffer, string, args); - - for (p = output_buffer; *p != '\0'; p++) - { - if ((*p >= ' ' && *p <= '~') || *p == '\n') - regs.r[0] = (int)*p; - else - regs.r[0] = '*'; - _kernel_swi (HostFS_WriteC, ®s, ®s); - if (*p == '\n') - { - regs.r[0] = '\r'; - _kernel_swi (HostFS_WriteC, ®s, ®s); - } - } - } - - va_end(args); -} diff --git a/c/mem b/c/mem deleted file mode 100644 index 23c8d671f024c77b5bab3fcb38d5605379043f3c..0000000000000000000000000000000000000000 --- a/c/mem +++ /dev/null @@ -1,696 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: mem.c - * Purpose: memory allocation in the Toolbox - * Author: Ian Johnson - * History: 6-Aug-93: IDJ: created - */ - - - -/* - * This is a central memory allocation place for the Toolbox. - * A doubly-linked list of all allocated blocks is kept (maybe remove this - * if using too much memory!). - * To enable debugging of memory allocation, the calling functions should be - * compiled without -ff, so that fn names are in the code area. Compile - * this code with -DDEBUG_MEMORY. - * Memory tracing is turned on by setting the letter 'm' in the central - * debug string. - * - */ - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include "kernel.h" -#include "swis.h" - -#include "debug.h" - -#include "mem.h" -#include "objects.toolbox.h" - -#undef mem_allocate -#undef mem_free -#undef mem_print_list -#undef mem_extend -#undef mem_chk - -#include "toolboxmem.h" -#define calloc(m,s) toolbox_memory_alloc_c((m)*(s)) -#define free(p) toolbox_memory_free_c(p) -#define reallocate(b,by) toolbox_memory_extend_c(b,by) - -typedef struct block -{ - struct block *next; /* next one in the chain */ - struct block *prev; /* previous one in the chain */ - unsigned int size; /* size of allocated block */ - -#ifdef DEBUG_MEMORY - int guard; /* should be 'TBOX' */ - char *fn; /* name of function which did the allocating */ - char *tag; /* extra info entered by caller (eg line #) */ -#endif - - /* caller gets a pointer to here */ -} mem__Block; - -#define GUARD_WORD *(int *)"TBOX" - - - -static mem__Block *mem__block_list = 0; /* linked list of all allocated blocks */ - -enum { - memorysys_USE_TOOLBOX = 1, - memorysys_USE_OWN_CODE = 2 -}; - -static int memory_sys_flag = 0; - -/* This function must only ever be called by the Toolbox module and is used to bypass the - * problem of not being able to call our own SWIs during module initialisation. - */ -extern void mem_i_am_the_toolbox (void) -{ - memory_sys_flag = memorysys_USE_TOOLBOX; -} - -extern void mem_init (void) -{ - if (_swix(Toolbox_Memory, _INR(0,2), 2, 0, 0) == NULL) { - /* Then a suitable Toolbox module *was* present */ - memory_sys_flag = memorysys_USE_TOOLBOX; - } - else { - memory_sys_flag = memorysys_USE_OWN_CODE; - } -} - -static void *(reallocate)(void *p, int by) -{ - /* - * own implementation of realloc, cos broken in 3.10 - */ - - DEBUG debug_output ("memory", "Reallocating %p to %d\n", p, by); - - if (p == 0 || by == 0) /* not like real realloc! */ - return 0; - else - { - void *newp; - - if (_swix (OS_Module, _IN(0)|_INR(2,3)|_OUT(2), - 13, /* extend RMA block */ - p, - by, - &newp - ) != 0) - { - DEBUG debug_output ("memory", "Failed\n"); - return 0; - } - else - { - DEBUG debug_output ("memory", "Old p %p, new p %p\n", p, newp); - return newp; - } - } - -} - - -static void *toolbox_memory_alloc_c(int s) -{ - if (memory_sys_flag == memorysys_USE_TOOLBOX) - return toolbox_memory_alloc(s); - else if (memory_sys_flag == memorysys_USE_OWN_CODE) - return (calloc)(s, 1); - else { - mem_init(); - return toolbox_memory_alloc_c(s); - } -} - -static void toolbox_memory_free_c(void *p) -{ - if (memory_sys_flag == memorysys_USE_TOOLBOX) - toolbox_memory_free(p); - else if (memory_sys_flag == memorysys_USE_OWN_CODE) - (free)(p); - else { - mem_init(); - toolbox_memory_free_c(p); - } -} - -static void *toolbox_memory_extend_c(void *b, int by) -{ - if (memory_sys_flag == memorysys_USE_TOOLBOX) - return toolbox_memory_extend(b, by); - else if (memory_sys_flag == memorysys_USE_OWN_CODE) - return (reallocate)(b, by); - else { - mem_init(); - return toolbox_memory_extend_c(b, by); - } -} - - - -static void mem__add_block (mem__Block *b) -{ - /* - * Function to add an element to the linked list of memory blocks - * (add at head of list) - */ - - b->next = mem__block_list; - b->prev = NULL; - if (mem__block_list != NULL) - mem__block_list->prev = b; - mem__block_list = b; - b->size = 0; - -#ifdef DEBUG_MEMORY - b->fn = 0; - b->tag = 0; -#endif - -} - - -static void mem__remove_block (mem__Block *b) -{ - - /* - * Function to remove an element from the linked list of memory blocks - * - */ - - if (b == mem__block_list) - { - mem__block_list = b->next; - if (b->next != NULL) - b->next->prev = NULL; - } - else - { - b->prev->next = b->next; - if (b->next != NULL) - b->next->prev = b->prev; - } -} - - -/********************************* MEMORY DEBUGGING CODE *****************************/ -#ifdef DEBUG_MEMORY - -static unsigned int mem__total_size (void) -{ - - /* - * Function to return total memory usage - * - */ - - mem__Block *b = mem__block_list; - int total = 0; - - while (b != NULL) - { - total += b->size; - b = b->next; - } - - return total; -} - - - -extern void mem_print_list (void) -{ - - /* - * Function to print out list of currently allocated blocks - * - */ - - mem__Block *b; - - b = mem__block_list; - - debug_output ("memory", "Memory usage\n"); - debug_output ("memory", "------------\n"); - debug_output ("memory", "Block size allocated by tag\n"); - debug_output ("memory", "----- ---- ------------ ---\n"); - - while (b != NULL) - { - debug_output ("memory", "%08.8p %08.8d %-33.33s %s\n", - (void *)(b+1), - b->size, - (b->fn)?b->fn:"<unknown fn>", - (b->tag)?b->tag:"<unknown tag>"); - - b = b->next; - } - - debug_output ("memory", "------------------------------\n"); - debug_output ("memory", "Total %08.8d\n", mem__total_size()); - debug_output ("memory", "------------------------------\n"); -} - - -extern void mem_chk (void *ptr, unsigned int flags, int line, char *file) -{ - - /* - * Types of memory check: - * - * CHECK_HEAP - * CHECK_NONZERO - */ - - _kernel_swi_regs regs; - int carry; - - - if (ptr == 0) - { - if (flags & CHECK_NONZERO) - debug_output ("memory", "Warning: ptr is zero: %d %s\n", line, file); - - return; /* zero is OK */ - } - - if (flags & CHECK_HEAP) - { - /* check the ptr is inside one of our allocated blocks */ - mem__Block *b = mem__block_list; - - while (b != NULL) - { - if (ptr <= (void *)((char *)(b+1) + b->size)) /* it's pointing inside this block */ - return; - - b = b->next; - } - - debug_output ("memory", "Warning: ptr is not in a currently allocated block %d %s\n", line, file); - - return; - } - - /* finally do an OS_ValidateAddress on the ptr */ - - regs.r[0] = (int)ptr; - regs.r[1] = (int)ptr; - _kernel_swi_c (OS_ValidateAddress, ®s, ®s, &carry); - if (carry != 0) - debug_output ("memory", "Warning: ptr is not a valid address %d %s\n", line, file); - -} - - - - -/* ------------------------------------ horrible hackery to get calling function name -------------------- */ - -static unsigned int fpoffz() -{ - return 0; -} -static unsigned int *myfp() -{ - unsigned int local; - return (unsigned int *)*(&local + 1 + fpoffz()); -} - -#define CALLER_FP() ((unsigned int *)(*(myfp()-3))) - -static char *mem__get_fn_name (unsigned int *fp) -{ - - /* - * Given a pointer to a caller's frame (if any) this function returns - * its name which appears "before" it in the code area if the code - * has not been compiled cc -ff. If no name is found, returns 0 - * - */ - - /* --- search to find magic marker 0xff00XXXX, where XXXX is the length - of the function name --- */ - - int i; - char *name = 0; - unsigned int *code_wordp; - - - /* - * check the sanity of the address first! - */ - - - if (fp == 0) - return NULL; - else - code_wordp = (unsigned int *)(*fp & 0x03fffffc); - - for (i = 0; i < 10; i++) /* same as backtrace code in C library (yuk) */ - { - int w = *--code_wordp; - if ((w & 0xffff0000) == 0xff000000) - { - name = (char *)code_wordp - (w & 0xffff); - break; - } - } - - return name; -} - - - -/* -------------------------------- freeing memory --------------------------------- */ - -extern void mem_free (void *block, char *msg) -{ - - /* - * Function to free a given block, and output debugging info. - * - * We print out who allocated the block (+tag info), and who is - * doing the free. - * We also give current total memory usage. - * - */ - - char *fn_name; - mem__Block *b = (mem__Block *)block - 1; - - fn_name = mem__get_fn_name (CALLER_FP()); - - debug_output ("memory", "Freeing block %p from %s (%s) - [allocated from %s (%s)", - (void *)(b+1), - (fn_name)?fn_name:"<unknown fn>", - (msg)?msg:"<unknown tag>", - (b->fn)?b->fn:"<unknown fn>", - (b->tag)?b->tag:"<unknown tag>"); - debug_output ("memory", "(%d)] %d", b->size, mem__total_size()); - - /* --- check guard word --- */ - if (b->guard != GUARD_WORD) - debug_output ("memory", "\nInvalid guard word in memory block - block start at %p\n", block); - - /* --- remove it from list of allocated blocks --- */ - mem__remove_block(b); - - /* --- free debug info from block --- */ - if (b->fn) - { - free(b->fn); - } - if (b->tag) - { - free(b->tag); - } - - /* --- ... and free the block itself --- */ - free(b); - - debug_output ("memory", " => %d\n", mem__total_size()); -} - - -extern void mem_free_all (void) -{ - mem__Block *b = mem__block_list, *next; - - while (b != NULL) - { - next = b->next; - - mem__remove_block (b); - if (b->fn) - free(b->fn); - if (b->tag) - free(b->tag); - free(b); - - b = next; - } -} - - - -/* -------------------------------- allocating memory ------------------------------ */ - - - -extern void *mem_allocate(unsigned int size, char *tag) -{ - - /* - * Function to allocate "size" bytes of store, with debugging info - * - * We store: - * - name of fn doing the allocating - * - size of requested store - * - extra info string - * - followed in memory by the "real" block - * - * All allocated memory blocks are stored in a linked list, so that - * we can easily work out how much is allocated at one time, and why. - * - * To get fn names caller must not be compiled -ff - * fn points at calling function, and we go back through the code area - * to find its textual name (use 0 if none there) - * - * Tag is some more info if appropriate - * - */ - - char *fn_name = mem__get_fn_name(CALLER_FP()); - mem__Block *new_block; - - debug_output ("memory", "Allocating %d bytes in %s (%s) %d", - size, - (fn_name)?fn_name:"<unknown fn>", - (tag)?tag:"<no tag>", - mem__total_size(), - 0); - - /* --- allocate new block to put in list of all allocated blocks --- */ - if ((new_block = (mem__Block *)calloc(sizeof(mem__Block) + size, sizeof(char))) == 0) - return 0; - mem__add_block (new_block); - - /* --- mark it for checking --- */ - new_block->guard = GUARD_WORD; - - /* --- note the name of the calling function --- */ - if (fn_name != NULL) - { - if ((new_block->fn = calloc(strlen (fn_name) + 1, sizeof(char))) == 0) - { - mem_free ((void *)(new_block+1), "no mem for fn name"); - return 0; - } - strcpy (new_block->fn, fn_name); - } - - /* --- note size of requested store --- */ - new_block->size = size; - - /* --- note tag passed by calling function --- */ - if (tag != NULL) - { - if ((new_block->tag = calloc(strlen (tag) + 1, sizeof(char))) == 0) - { - mem_free ((void *)(new_block+1), "no mem for tag"); - return 0; - } - strcpy (new_block->tag, tag); - } - - /* --- return "real" block pointer to caller --- */ - debug_output ("memory", " => %d [@%p]\n", mem__total_size(), (void *)(new_block+1)); - - return (void *)(new_block+1); -} - - - - - -extern void *mem_extend (void *block, int by) -{ - - /* - * Function to extend an existing block of memory, with debugging info - * - */ - - char *fn_name = mem__get_fn_name(CALLER_FP()); - mem__Block *b; - mem__Block *old_b; - - if (block == NULL) - return mem_allocate (by, "extend block 0"); - - b = (mem__Block *)block - 1; - old_b = b; - - debug_output ("memory", "Extending block %p by %d bytes in %s (=>%d)", - b, - by, - (fn_name)?fn_name:"<unknown fn>", - mem__total_size()); - - /* --- extend existing block --- */ - if ((b = (mem__Block *)reallocate((void *)b, by)) == 0) - return 0; - - /* --- check to see if block has moved, and if so, update pointers --- */ - if (old_b != b) - { - if (b->prev != NULL) - b->prev->next = b; - if (b->next != NULL) - b->next->prev = b; - if (old_b == mem__block_list) - mem__block_list = b; - } - - /* --- adjust size of store --- */ - b->size += by; - - /* --- return "real" block pointer to caller --- */ - debug_output ("memory", " => %d [@%p]\n", mem__total_size(), (void *)(b+1)); - - return (void *)(b+1); -} - -#else - - -/* -------------------------------- freeing memory --------------------------------- */ - -extern void mem_free (void *block) -{ - - /* - * Function to free a given block. - * - */ - - mem__Block *b = (mem__Block *)block - 1; - - /* --- remove it from list of allocated blocks --- */ - mem__remove_block (b); - - /* --- ... and free the block itself --- */ - free(b); -} - - -extern void mem_free_all (void) -{ - mem__Block *b = mem__block_list, *next; - - while (b != NULL) - { - next = b->next; - - mem__remove_block (b); - free(b); - - b = next; - } -} - - -/* -------------------------------- allocating memory ------------------------------ */ - -extern void *mem_allocate (unsigned int size) -{ - - /* - * Function to allocate "size" bytes of store. - * - * All allocated memory blocks are stored in a linked list, so that - * we can easily ensure it is freed on finalisation. - * - */ - - mem__Block *new_block; - - /* --- allocate new block to put in list of all allocated blocks --- */ - if ((new_block = (mem__Block *)calloc(sizeof(mem__Block) + size, sizeof(char))) == 0) - return 0; - mem__add_block (new_block); - - /* --- record size of block --- */ - new_block->size = size; - - /* --- return "real" block pointer to caller --- */ - return (void *)(new_block+1); -} - -extern void *mem_extend (void *block, int by) -{ - - /* - * Function to extend an existing block of memory - * - */ - - mem__Block *b; - mem__Block *old_b; - - if (block == NULL) - return mem_allocate (by); - - b = (mem__Block *)block - 1; - old_b = b; - - /* --- extend existing block --- */ - if ((b = (mem__Block *)reallocate((void *)b, by)) == 0) - return 0; - - /* --- check to see if block has moved, and if so, update pointers --- */ - if (old_b != b) - { - if (b->prev != NULL) - b->prev->next = b; - if (b->next != NULL) - b->next->prev = b; - if (old_b == mem__block_list) - mem__block_list = b; - } - - /* --- keep size up to date --- */ - b->size += by; - - /* --- return "real" block pointer to caller --- */ - return (void *)(b+1); -} - - -#endif diff --git a/c/messages b/c/messages deleted file mode 100644 index f65d4c53a6952597cc34f099672fe0a522802a1d..0000000000000000000000000000000000000000 --- a/c/messages +++ /dev/null @@ -1,261 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: messages.c - * Purpose: accessing an Object modules messages file (inc error reporting) - * Author: Timothy Roddis - * History: 24-Jan-94: IDJ: created from original TGR sources - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <stdarg.h> -#include "kernel.h" -#include "swis.h" - -#include "const.h" -#include "macros.h" -#include "objects.toolbox.h" -#include "services.h" -#include "debug.h" -#include "mem.h" -#include "twimp.h" -#include "style.h" - -#include "messages.h" - -static int messages_fd[4]; /* the messages file descriptor */ -static _kernel_oserror global_error_block={0,0}; - - - -/* ------------------------------------ raising errors ---------------------------------------- */ - - -extern _kernel_oserror *make_error (int err_num, int num_args, ...) -{ - /* - * Generate a RISC OS error block. - */ - - va_list ap; - char *s, - token [4]; - int i=4; - _kernel_oserror *e; - _kernel_swi_regs regs = {0,0,0,0,0,0,0,0}; - - global_error_block.errnum = err_num; - - num_args = (num_args>4)?4:num_args; - - for (va_start (ap, num_args); num_args--; i++) - { - s = va_arg (ap, char *); - regs.r[i] = (int) ((s && *s) ? s : NULL); /* copy (pointer to args)s into registers */ - } - - sprintf (token, "E%02x", err_num&0x3f); - - DEBUG debug_output ("error", "make_error: looking for %s\n", token); - - regs.r[0] = (int) messages_fd; - regs.r[1] = (int) token; - regs.r[2] = (int) global_error_block.errmess; - regs.r[3] = sizeof global_error_block - sizeof global_error_block.errnum; /* 252! */ - - e = _kernel_swi (MessageTrans_Lookup, ®s, ®s); /* Hope this doesn't return an error */ - - DEBUG - { - if (e != NULL) debug_output ("error", "make_error: msgtrans error (%s)\n", e->errmess); - } - - va_end (ap); - - return &global_error_block; -} - - - -extern _kernel_oserror *make_error_hex (int err_num, int num_args, ...) -{ - /* - * Generate a RISC OS error block, with integer params printed in hex. - */ - - va_list ap; - char arg[4][11] = { "\0","\0","\0","\0" }; - int i, - n; - - num_args = (num_args>4)?4:num_args; - va_start (ap, num_args); - - for (i=0; i<num_args; i++) - { - n = va_arg (ap, int); - sprintf (arg[i], "0x%x",n); - } - - va_end(ap); - - return make_error (err_num, num_args, arg[0], arg[1], arg[2], arg[3]); -} - - - -extern void raise_toolbox_error (int err_num, ObjectID object_id, ComponentID component_id, int num_args, ...) -{ - /* - * Raise a Toolbox_Error event - */ - - ToolboxErrorEvent error_block; - - va_list ap; - char *s, - token [4]; - int i=4; - _kernel_oserror *e; - _kernel_swi_regs regs = {0,0,0,0,0,0,0,0}; - - error_block.errnum = err_num; - - num_args = (num_args>4)?4:num_args; - - for (va_start (ap, num_args); num_args--; i++) - { - s = va_arg (ap, char *); - regs.r[i] = (int) ((s && *s) ? s : NULL); /* copy (pointer to args)s into registers */ - } - - regs.r[0] = (int) messages_fd; - regs.r[1] = (int) token; - regs.r[2] = (int) error_block.errmess; - regs.r[3] = sizeof global_error_block - sizeof global_error_block.errnum; /* 252! */ - - e = _kernel_swi (MessageTrans_Lookup, ®s, ®s); /* Hope this doesn't return an error */ - - error_block.hdr.event_code = Toolbox_Error; - - regs.r[0] = 0; - regs.r[1] = (int) object_id; - regs.r[2] = component_id; - regs.r[3] = (int) &error_block; - - e = _kernel_swi (Toolbox_RaiseToolboxEvent, ®s, ®s); - - va_end (ap); -} - - - -extern void raise_toolbox_error_hex (int err_num, ObjectID object_id, ComponentID component_id, int num_args, ...) -{ - /* - * Raise a Toolbox_Error event, with integer parameters printed in hex - */ - - va_list ap; - char arg[4][11] = { "\0","\0","\0","\0" }; - int i=0, - n; - - num_args = (num_args>4)?4:num_args; - va_start (ap, num_args); - - for (i=0; i<num_args; i++) - { - n = va_arg (ap, int); - sprintf (arg[i], "0x%x",n); - } - - raise_toolbox_error_hex (err_num, object_id, component_id, num_args, arg[0], arg[1], arg[2], arg[3]); - - va_end(ap); -} - - - -extern void raise_toolbox_oserror (_kernel_oserror *e, ObjectID object_id, ComponentID component_id) -{ - /* - * Raise a Toolbox_Error event, given a RISC OS error block - */ - - ToolboxErrorEvent error_block; - _kernel_swi_regs regs; - - error_block.errnum = e->errnum; - strcpy (error_block.errmess, e->errmess); - - error_block.hdr.event_code = Toolbox_Error; - error_block.hdr.size = 256-20-sizeof(ToolboxEventHeader)-sizeof(ObjectID)-sizeof(ComponentID); - - regs.r[0] = 0; - regs.r[1] = (int) object_id; - regs.r[2] = component_id; - regs.r[3] = (int) &error_block; - - e = _kernel_swi (Toolbox_RaiseToolboxEvent, ®s, ®s); -} - - -/* --------------------------------------- message file handling ------------------------------ */ - - -extern _kernel_oserror *messages_file_open (char *messages_filename) -{ - return _swix(MessageTrans_OpenFile, _INR(0,2), messages_fd, messages_filename, 0 /* use RMA */); -} - - -extern _kernel_oserror *messages_file_close (void) -{ - return _swix (MessageTrans_CloseFile, _IN(0), messages_fd); -} - - -extern _kernel_oserror *messages_file_lookup (char *token, char *buffer, int *buffer_size, int num_args, ...) -{ - va_list ap; - char *s; - int i = 4; - _kernel_oserror *e = NULL; - _kernel_swi_regs regs = {0,0,0,0,0,0,0,0}; - - num_args = (num_args>4)?4:num_args; - - for (va_start (ap, num_args); num_args--; i++) - { - s = va_arg (ap, char *); - regs.r[i] = (int) ((s && *s) ? s : NULL); /* copy (pointer to args)s into registers */ - } - - regs.r[0] = (int) messages_fd; - regs.r[1] = (int) token; - regs.r[2] = (int) buffer; - regs.r[3] = (buffer && buffer_size)?*buffer_size:0; - - e = _kernel_swi (MessageTrans_Lookup, ®s, ®s); /* Hope this doesn't return an error */ - - if (buffer == NULL && buffer_size != NULL) - *buffer_size = regs.r[3]+1; /* add one to allow for terminator */ - - va_end (ap); - - return e; -} diff --git a/c/objsupport b/c/objsupport deleted file mode 100644 index 7fa79793d94b462e3dc905bc5901e580680dc217..0000000000000000000000000000000000000000 --- a/c/objsupport +++ /dev/null @@ -1,162 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: objsupport.c - * Purpose: Support Library for object modules - * Author: Neil Kelleher - * History: 1-Jul-1994: NK: created - */ - -#include <stdlib.h> -#include <stdio.h> -#include <string.h> -#include <stddef.h> -#include "kernel.h" -#include "swis.h" - -#include "debug.h" -#include "objects.toolbox.h" -#include "objects.window.h" -#include "mem.h" -#include "objsupport.h" -#include "string32.h" - -static _kernel_oserror *extract_gadget_info(char *tm,ComponentID id,void **p,int *l) -{ - return _swix(Window_ExtractGadgetInfo, _INR(0,2) | _OUTR(0,1), 0,tm,id, p,l); -} - -char *copy_template(char *name) -{ - char *tm; - ObjectTemplateHeader *obj; - if(_swix(Toolbox_TemplateLookUp, _INR(0,1) | _OUT(0),0,name,&obj)) tm = NULL; - else { - tm = mem_allocate(obj->total_size,"template copy"); - if(tm) { - memcpy(tm,obj,obj->total_size); - ((ObjectTemplateHeader *)tm)->body = - (WindowTemplate *) (tm + ((int) ((WindowTemplate *) obj->body)) - ((int) obj)); - ((WindowTemplate *) (((ObjectTemplateHeader *)tm)->body))-> gadgets = - (Gadget *) (tm + ((int) ((WindowTemplate *) obj->body)->gadgets) - ((int) obj)); - - } - } - return tm; -} - -_kernel_oserror *__zap_gadget(char *tm,ComponentID id,int off,int val) -{ - _kernel_oserror *e=NULL; - int *p,l; - e=extract_gadget_info(tm,id,(void **) &p,&l); - if(!e) *(p+ off/sizeof(int)) = val; - return e; - -} - -_kernel_oserror *__zap_gadget_string(char *tm,ComponentID id,int off,const char* val,int offlen) -{ - /* Zaps the string into the gadget template and checks the length against a length field - * in the same template, increasing the value if necessary - */ - int *p,l; - _kernel_oserror *e=__zap_gadget(tm,id,off,(int)val); - if (e) return e; - e=extract_gadget_info(tm,id,(void **) &p,&l); - if(!e) { - int cl=*(p+ offlen/sizeof(int)); - int rl=string_length((char *)val)+1; - if (cl<rl) e=__zap_gadget(tm,id,offlen,rl); - } - return e; - -} - -int *__read_gadget(char *tm,ComponentID id,int off) -{ - int *p,l; - if (extract_gadget_info(tm,id,(void **)&p,&l) == NULL) - return (p+ off/sizeof(int)); - else return 0; -} - -_kernel_oserror *__zap_window(char *tm,int off,int val) -{ - char *p = (char *)((WindowTemplate *) (((ObjectTemplateHeader *)tm)->body)); - DEBUG debug_output("objsupport","zapping word +%x with %x\n",off,val); - if ((((ObjectTemplateHeader *)tm)->version == 101) && (off >= offsetof(WindowTemplate,default_focus))) off -=24; - * ((int *) (p+off)) =val; - return NULL; -} - -_kernel_oserror *create_from_template(char *template_id, ObjectID *handle) -{ - _kernel_oserror *er=NULL; - if ((er=_swix(Toolbox_CreateObject, _INR(0,1) | _OUT(0), - 1, /* flags */ - template_id, - handle)) != NULL) { - mem_free(template_id,"freeing template copy"); - return er; - } - - mem_free(template_id,"freeing template copy"); - return NULL; -} - -/* for word aligned overlapping areas */ - -static void _mem_cpy(char *a,char *b,int size) -{ - int *c=(int *)a; - int *d=(int *)b; - size = size/(sizeof(int)); - - DEBUG debug_output("objsupport","Copying %d words from %x to %x\n",size,b,a); - - while (size>0) { - size--; - *c++ = *d++; - } - -} - -_kernel_oserror *delete_gadget(char *tm,ComponentID id) -{ - _kernel_oserror *e=NULL; - char *p; - int l; - ObjectTemplateHeader *obj = (ObjectTemplateHeader *)tm; - - e=extract_gadget_info(tm,id,(void **)&p,&l); - if(!e) { - DEBUG debug_output("objsupport","Deleting gadget from template: Template size %d, Gadget size %d\n",obj->total_size,l); - DEBUG debug_output("objsupport","about to copy %d bytes\n",(obj->total_size) - (((int)p) - ((int)tm)) -l); - _mem_cpy(p,p+l,(obj->total_size) - (((int)p) - ((int)tm)) -l); - (obj->total_size) -= l; - (((WindowTemplate *)obj->body)->num_gadgets) -= 1; - } - return e; - -} - -int *__read_window(char *tm,int off) -{ - char *p = (char *)((WindowTemplate *) (((ObjectTemplateHeader *)tm)->body)); - DEBUG debug_output("objsupport","reading word +%x \n",off); - if ((((ObjectTemplateHeader *)tm)->version == 101) && (off >= offsetof(WindowTemplate,default_focus))) off -=24; - return ((int *) (p+off)); - -} diff --git a/c/rmensure b/c/rmensure deleted file mode 100644 index 4ba09ce7fd010b94cb2708390756a65ef4dd7d2e..0000000000000000000000000000000000000000 --- a/c/rmensure +++ /dev/null @@ -1,57 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: rmensure.c - * Purpose: ensuring a module is loaded - * Author: IDJ - * History: 24-Jun-94: IDJ: created - * 02-Dec-96: KJB: modified ROM conditional - RAM modules still need - * to use rmensure in TinyStubs - */ - - -#include <stdio.h> -#include "kernel.h" -#include "swis.h" - -#include "rmensure.h" -#include "macros.h" - -_kernel_oserror *rmensure (char *module_name, char *file_name, char *module_version) -{ -#if defined(ROM) && !defined(BUILDING_TINYSTUBS) - IGNORE(module_area); - IGNORE(file_name); - IGNORE(module_version); - - return NULL; -#else - _kernel_oserror *e; - char command[256]; - - /* - * see if the module is there at all! - */ - - sprintf (command, "RMEnsure %s %s RMLoad System:Modules.%s", module_name, - module_version, file_name); - - if ((e = _swix (OS_CLI, _IN(0), command)) != NULL) - return e; - - sprintf (command, "RMEnsure %s %s", module_name, module_version); - - return _swix (OS_CLI, _IN(0), command); -#endif -} diff --git a/c/slist b/c/slist deleted file mode 100644 index fc7c5aa61bfe0626e84ca993ddd161b3a52da8a6..0000000000000000000000000000000000000000 --- a/c/slist +++ /dev/null @@ -1,91 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -#include <stdio.h> - -#include "slist.h" -#include "mem.h" - -void *slist_add_new(void **_head,int size,char *tag) -{ - - SList *newl,**head = (SList **)_head; - - (void) tag; - newl = mem_allocate(size,tag); - if (newl) { - newl->next = *head; - *head = newl; - } - return newl; -} - -void slist_delete_member(void **_head,void *member) -{ - - SList *prev=NULL,*list = (SList *) (*_head),*tst = (SList *)member; - - while(list) { - if (list == tst) { - if (prev) prev->next = list->next; - else *_head = (void *) (list->next); - mem_free(list,"Freeing list member"); - return; - - } - - prev =list; - list = list->next; - } -} - -void *slist_find_member(void **_head,int field, int value) -{ - - SList *list = (SList *) (*_head); - - while(list) { - if (list->members[field] == value) break; - - list = list->next; - } - return list; -} - -void *slist_find_matched_member(void **_head,int (*func)(void *list,int value), int value) -{ - - SList *list = (SList *) (*_head); - - while(list) { - if (func(list, value)) break; - - list = list->next; - } - return list; -} - -void slist_delete_and_call(void **_head,void (*func)(void * d)) -{ - - SList *next,*list = (SList *) (*_head); - - while(list) { - func(list); - next = list->next; - mem_free(list,"Freeing list member"); - list = next; - } - *_head = NULL; -} diff --git a/c/string32 b/c/string32 deleted file mode 100644 index 8deafe9356b9d3bbe445c2e844f1a5410e05f56d..0000000000000000000000000000000000000000 --- a/c/string32 +++ /dev/null @@ -1,106 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: string32.c - * Purpose: strings terminated by char < 32 - * Author: Timothy Roddis - * History: 24-Jan-94: IDJ: created from original TGR sources - */ - -#include "string32.h" - - -/* Strings passed to the toolbox might be terminated with any control character ... */ - -#define NULL 0 - -void string_copy (char *dst_txt, char *src_txt) -{ - /* - * copy a ctrl-terminated string to a buffer big enough to - * hold the result (no length checking). - */ - - if (!src_txt) src_txt = ""; - - while ((*(dst_txt++)=*(src_txt++))>=32); - *(--dst_txt) = '\0'; -} - - - -char *string_copy_chk (char *dst_txt, char *src_txt, int max_len) -{ - int i; - - /* - * copy a ctrl-terminated string to a buffer checking it is big enough to - * hold the result. Return NULL and nul-terminate, if dst buffer not - * big enough. - */ - - if (dst_txt == NULL || max_len == 0) - return NULL; - if (!src_txt) src_txt = ""; - - for (i=1;(*dst_txt++=*src_txt++)>=32;i++) - if (i>=max_len) { - *(--dst_txt) = '\0'; - return NULL; - } - *(--dst_txt) = '\0'; - - return dst_txt; -} - - -int string_length (char *txt) -{ - int i=0; - - /* - * return length of ctrl-terminated string - */ - - if (!txt) return 0; - while (*txt++>=32) i++; - return i; -} - - -void string_to_buffer (char *dst_txt, char *src_txt, int *max_len) -{ - /* - * general purpose routine to fill in a user-supplied buffer (and report - * number of bytes written), or just report size of buffer needed. - * If buffer is supplied (dst_txt != 0), then *max_len gives size of supplied - * buffer; if this is not large enough, don't return an error, but return - * size of bufer required! - */ - - int src_len = string_length (src_txt) + 1; - - if (dst_txt == NULL) - *max_len = src_len; - else /* user-supplied buffer */ - { - if (*max_len >= src_len) - string_copy (dst_txt, src_txt); - else - string_copy_chk (dst_txt, src_txt, *max_len); - - *max_len = string_length (dst_txt) + 1; - } -} - diff --git a/h/colpicker b/h/colpicker deleted file mode 100644 index 968b62ed26a74a356784cdf0c2a700f2c8a4f23c..0000000000000000000000000000000000000000 --- a/h/colpicker +++ /dev/null @@ -1,190 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -#ifndef __colpicker_h -#define __colpicker_h - -/* SWIs */ - -#ifndef ColourPicker_RegisterModel -#define ColourPicker_RegisterModel 0x047700 -#define ColourPicker_DeregisterModel 0x047701 -#define ColourPicker_OpenDialogue 0x047702 -#define ColourPicker_CloseDialogue 0x047703 -#define ColourPicker_UpdateDialogue 0x047704 -#define ColourPicker_ReadDialogue 0x047705 -#define ColourPicker_SetColour 0x047706 -#define ColourPicker_HelpReply 0x047707 -#define ColourPicker_ModelSWI 0x047708 -#endif - -/* Various ColourPicker related structs (broken up into strange lumps for convenience ***********/ - -typedef struct { - char nought; /* = 0 */ - char blue; - char green; - char red; - int extension_size; -} ColourDescriptorHeader; - -typedef struct { - unsigned int flags; - char *title; - int x; - int reserved0; /* = 0x80000000 */ - int reserved1; /* = 0x7fffffff */ - int y; - int reserved2; /* = 0 */ - int reserved3; /* = 0 */ - ColourDescriptorHeader descriptor_hdr; -} ColourPickerHeader; - -typedef struct { - - unsigned int model; /* This extension caters fully for only three models */ - union { - - struct { - int red; /* % */ - int green; /* % */ - int blue; /* % */ - } rgb; - - struct { - int cyan; /* % */ - int magenta; /* % */ - int yellow; /* % */ - int key; /* % */ - } cmyk; - - struct { - int hue; /* angle (degrees) */ - int saturation; /* % */ - int value; /* % */ - } hsv; - - char bytes[16]; - int words[4]; - } data; -} ColourModelData; - -typedef struct { - - ColourPickerHeader hdr; - ColourModelData ext; -} ColourPickerExtended; - -typedef struct { - - ColourDescriptorHeader hdr; - ColourModelData ext; - -} ColourDescriptorBlock; - -/* ColourPicker dialogue types *****************************************************************/ - -#define ColourPickerType_Normal 0x00000000 -#define ColourPickerType_Menu 0x00000001 -#define ColourPickerType_Toolbox 0x00000002 -#define ColourPickerType_SubMenu 0x00000003 - -/* ColourPicker flags (OpenDialogue) ***********************************************************/ - -#define ColourPickerFlags_IncludeNoneButton 0x00000001 -#define ColourPickerFlags_SelectNoneButton 0x00000002 -#define ColourPickerFlags_ChangeInfoExceptDrag 0x00000004 -#define ColourPickerFlags_AllChangeInfo 0x00000008 -#define ColourPickerFlags_IgnoreHelpRequest 0x00000010 - -/* ColourPicker flags (UpdateDialogue) *********************************************************/ - -#define ColourPicker_Update_IncludeNoneButton 0x00000001 -#define ColourPicker_Update_SelectNoneButton 0x00000002 -#define ColourPicker_Update_WhenChangeInfo 0x00000004 -#define ColourPicker_Update_VisibleSize 0x00000008 -#define ColourPicker_Update_Reserved 0x00000010 -#define ColourPicker_Update_WindowTitle 0x00000020 -#define ColourPicker_Update_RGBSetting 0x00000040 -#define ColourPicker_Update_ModelAndSetting 0x00000080 - -/* Messages ************************************************************************************/ - -#define colourpicker_MPICKERCHOICE 0x00047700 -#define colourpicker_MCOLOURCHANGED 0x00047701 -#define colourpicker_MCLOSEDIALOGUEREQUEST 0x00047702 -#define colourpicker_MOPENPARENTREQUEST 0x00047703 - -typedef struct { - int dialogue_handle; - int flags; - struct { - ColourDescriptorHeader hdr; - struct { - unsigned int model; /* This extension caters fully for only three models */ - union { - - struct { - int red; /* % */ - int green; /* % */ - int blue; /* % */ - } rgb; - - struct { - int cyan; /* % */ - int magenta; /* % */ - int yellow; /* % */ - int key; /* % */ - } cmyk; - - struct { - int hue; /* angle (degrees) */ - int saturation; /* % */ - int value; /* % */ - } hsv; - - char bytes[256-sizeof(wimp_MsgHdr)-sizeof(ColourDescriptorHeader)-sizeof(int)]; - int words[(256-sizeof(wimp_MsgHdr)-sizeof(ColourDescriptorHeader)-sizeof(int))/4]; - } data; - } colour_model; - } colour_descriptor_block; -} colourpicker_PickerChoice, colourpicker_ColourChanged; - -typedef struct { - int dialogue_handle; -} colourpicker_CloseDialogueRequest, colourpicker_OpenParentRequest; - - -typedef struct { - wimp_MsgHdr hdr; - colourpicker_ColourChanged message; -} ColourPicker_ColourChanged_Event; - -typedef struct { - wimp_MsgHdr hdr; - colourpicker_PickerChoice message; -} ColourPicker_PickerChoice_Event; - -typedef struct { - wimp_MsgHdr hdr; - colourpicker_CloseDialogueRequest message; -} ColourPicker_CloseDialogueRequest_Event; - -typedef struct { - wimp_MsgHdr hdr; - colourpicker_OpenParentRequest message; -} ColourPicker_OpenParentRequest_Event; - -#endif diff --git a/h/const b/h/const deleted file mode 100644 index 73a8b0e52a6efbd532d21681f776be39780748c5..0000000000000000000000000000000000000000 --- a/h/const +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: const.h - * Purpose: useful constants for the Toolbox - * Author: Ian Johnson - * History: 10-Aug-93: IDJ: created - * - */ - -#ifndef __const_h -#define __const_h - -#define MAXSTRINGLEN 256 /* useful biggest string value */ -#define MAXFILENAME 256 /* maximum chars in a filename */ - -#endif diff --git a/h/debug b/h/debug deleted file mode 100644 index d50cfbade36eebd2b99396d1a144179247f4a6c5..0000000000000000000000000000000000000000 --- a/h/debug +++ /dev/null @@ -1,34 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: debug.h - * Purpose: debugging routines for the Toolbox - * Author: Ian Johnson - * History: 16-Sep-93: IDJ: created - * - */ - -#ifndef __debug_h -#define __debug_h - -#ifndef debugging -#define debugging 0 -#endif -#define DEBUG if (!debugging) ; else - -extern void debug_output (char *allow, char *string, ...); -extern void debug_set_var_name (char *var_name); -extern void debug_dump (void *start, int length); - -#endif diff --git a/h/macros b/h/macros deleted file mode 100644 index dd5eadd82aeecc916eaa05fd0477adb4e839b9cd..0000000000000000000000000000000000000000 --- a/h/macros +++ /dev/null @@ -1,38 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: macros.h - * Purpose: useful macros for the Toolbox - * Author: Ian Johnson - * History: 10-Aug-93: IDJ: created - * - */ - -#ifndef __macros_h -#define __macros_h - - -#define IGNORE(x) (x=x) - -#define TRUE 1 -#define FALSE 0 - -#define BOOL int - -#define MAX(a,b) ((a)>(b))?(a):(b) -#define MIN(a,b) ((a)<(b))?(a):(b) - -#define USER_REGS(regs) ((_kernel_swi_regs *)regs->r[4]) - -#endif diff --git a/h/mem b/h/mem deleted file mode 100644 index faf8c50499a42388fed6bbeab3baeb4bccfbb649..0000000000000000000000000000000000000000 --- a/h/mem +++ /dev/null @@ -1,181 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: mem.h - * Purpose: memory allocation in the Toolbox - * Author: Ian Johnson - * History: 6-Aug-93: IDJ: created - */ - - - -/* - * This is a central memory allocation place for the Toolbox core module. - * A doubly-linked list of all allocated blocks is kept (maybe remove this - * if using too much memory!). - * To enable debugging of memory allocation, the calling functions should be - * compiled without -ff, so that fn names are in the code area. Compile - * this code with -DDEBUG_MEMORY. - * Memory tracing is turned on by setting the letter 'm' in the central - * debug string (got by calling debugging('m')). - * - * Calling code will always call the debugging versions eg - * b = memory_allocate (1024, &fn, "some extra info"); - * Macros ensure the debugging code is removed. - * - */ - -#ifndef __mem_h -#define __mem_h - - -extern void mem_free_all (void); -extern void mem_init (void); - - - -extern void mem_i_am_the_toolbox (void); - -/* - * Description: for internal use by the Toolbox module ONLY. - * in order to enable it to initialise the mem library - * correctly. - * - * Parameters: None - * - * Returns: void - * - */ - - - -#define CHECK_HEAP (1u << 0) -#define CHECK_NONZERO (1u << 1) - - - -#ifdef DEBUG_MEMORY - -extern void mem_chk (void *p, unsigned int flags, int line, char *file); -#define mem_chk(p,f) mem_chk ((void *)p, f, __LINE__, __FILE__) - -/* - * Description: checks a memory pointer. - * - * Parameters: p - the pointer - * flags - what sort of checking - * line - line number in source file - * file - source filename - * - * Returns: void - * - */ - - -extern void mem_print_list (void); - -/* - * Description: prints out all allocated memory blocks. - * - * Parameters: none - * - * Returns: void - * - */ - -extern void mem_free (void *block, char *msg); - -/* - * Description: frees a block of memory. - * - * Parameters: void *block - the block to be freed - * char *msg - informational message from caller - * - * Returns: void - * - */ - -extern void *mem_allocate(unsigned int size, char *tag); - -/* - * Description: allocates block of memory of 'size' bytes, with debug - * info - size, name of calling fn, and tag. - * - * Parameters: unsigned int size - size of block to be allocated - * char *tag - extra info to be stored in block - * (eg line nunber of caller?) - * - * Returns: pointer to allocated block (without header). - * - */ - -extern void *mem_extend(void *p, int by); - -/* - * Description: extends an existing block block of memory by "by" bytes, - * with debug info. - * - * Parameters: void *p - the previously allocated block - * int by - amount of bytes to extend by - * - * Returns: pointer to extended block (without header). - * - */ - - -#else - -#define mem_print_list() ((void)0) -#define mem_chk(p,f) ((void)0) - -extern void mem_free (void *block); -#define mem_free(a,b) mem_free(a) - -/* - * Description: frees a block of memory. - * - * Parameters: void *block - the block to be freed - * - * Returns: void - * - */ - -extern void *mem_allocate (unsigned int size); -#define mem_allocate(a,b) mem_allocate(a) - -/* - * Description: allocates block of memory of 'size' bytes. - * - * Parameters: unsigned int size - size of block to be allocated - * - * Returns: pointer to allocated block (without header). - * - */ - -extern void *mem_extend(void *p, int by); -#define mem_extend(a,b) mem_extend(a,b) - -/* - * Description: extends an existing block block of memory by "by" bytes. - * - * Parameters: void *p - the previously allocated block - * int by - amount of bytes to extend by - * - * Returns: pointer to extended block (without header). - * - */ - -#endif - -#endif diff --git a/h/messages b/h/messages deleted file mode 100644 index ce80a7f8339a8ce1f14cbcd9c0f93d538995148a..0000000000000000000000000000000000000000 --- a/h/messages +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: messages.h - * Purpose: accessing an Object modules messages file (inc error reporting) - * Author: Timothy Roddis - * History: 24-Jan-94: IDJ: created from original TGR sources - */ - -#include "kernel.h" - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - - -/* ------------------------------------ raising errors ---------------------------------------- */ - - -extern _kernel_oserror *make_error (int err_num, int num_args, ...); - /* - * Generate a RISC OS error block. - */ - - - -extern _kernel_oserror *make_error_hex (int err_num, int num_args, ...); - /* - * Generate a RISC OS error block, with integer params printed in hex. - */ - - - -extern void raise_toolbox_error (int err_num, ObjectID object_id, ComponentID component_id, int num_args, ...); - /* - * Raise a Toolbox_Error event - */ - - - -extern void raise_toolbox_error_hex (int err_num, ObjectID object_id, ComponentID component_id, int num_args, ...); - /* - * Raise a Toolbox_Error event, with integer parameters printed in hex - */ - - - -extern void raise_toolbox_oserror (_kernel_oserror *e, ObjectID object_id, ComponentID component_id); - /* - * Raise a Toolbox_Error event, given a RISC OS error block - */ - - - -/* --------------------------------------- message file handling ------------------------------ */ - - -extern _kernel_oserror *messages_file_open (char *messages_filename); - /* - * Open the module's messages file (and cache file descriptor) - */ - - - -extern _kernel_oserror *messages_file_close (void); - /* - * Close the module's messages file - */ - - - -extern _kernel_oserror *messages_file_lookup (char *token, char *buffer, int *buffer_size, int num_args, ...); - /* - * Lookup given token in message file. - * Result is placed in buffer, unless buffer == NULL, in which case - * the size of buffer required is returned in *buffer_size - */ diff --git a/h/objsupport b/h/objsupport deleted file mode 100644 index 9ea370a59cdd75c5c0a394f7a0f0f83bfda21a9b..0000000000000000000000000000000000000000 --- a/h/objsupport +++ /dev/null @@ -1,70 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: objsupport.h - * Purpose: Standard Dialogue support library. - * Author: Neil Kelleher - * History: 5-Jul-1994 : NK: created - */ - -#include "stddef.h" -#include "objects.toolbox.h" -#include "objects.window.h" - -/* copies named template to a buffer, returns NULL if can't find or no memory */ - -char *copy_template(char *name); - -/* creates object from buffer then frees it */ - -_kernel_oserror *create_from_template(char *template_id, ObjectID *handle); - -/* zaps gadget attributes, NOTE: use macro form below */ - -_kernel_oserror *__zap_gadget(char *tm,ComponentID id,int off,int val); -_kernel_oserror *__zap_gadget_string(char *tm,ComponentID id,int off,const char* val,int offlen); -int *__read_gadget(char *tm,ComponentID id,int off); - -/* zaps window template, NOTE: use macro form below */ - -_kernel_oserror *__zap_window(char *tm,int off,int val); -int *__read_window(char *tm,int off); - -/* deletes a gadget from a template */ - -_kernel_oserror *delete_gadget(char *tm,ComponentID id); - -/* zap_gadget(char *template,typedef GadgetType, ComponentID component, structure member, value */ - -#define zap_gadget(a,b,c,d,e) __zap_gadget(a,c,sizeof(GadgetHeader) + offsetof(b,d),(int) (e)) - -/* zap_gadget_string(char *template,typedef GadgetType, ComponentID component, structure member, value, structure member (length) - * This is used to up the max buffer length if the string was too long to fit in the buffer. - * This avoids problems of too small buffer lengths in Res files causing problems. - */ - -#define zap_gadget_string(a,b,c,d,e,f) __zap_gadget_string(a,c,sizeof(GadgetHeader) + offsetof(b,d),(e), sizeof(GadgetHeader)+offsetof(b,f)) - - -#define zap_gadget_header(a,c,d,e) __zap_gadget(a,c, offsetof(GadgetHeader,d),(int) (e)) - -/* zap_window(char *template,WindowTemplate structure member,value) */ - -#define zap_window(a,d,e) __zap_window(a,offsetof(WindowTemplate,d),(int) (e)) - -#define read_gadget(a,b,c,d) __read_gadget(a,c,sizeof(GadgetHeader) + offsetof(b,d)) - -#define read_gadget_header(a,c,d) __read_gadget(a,c, offsetof(GadgetHeader,d)) - -#define read_window(a,d) __read_window(a,offsetof(WindowTemplate,d)) diff --git a/h/os b/h/os deleted file mode 100644 index 7931573cfb5c5ea5599bd4cb02c6c71df1ded160..0000000000000000000000000000000000000000 --- a/h/os +++ /dev/null @@ -1,36 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: os.h - * Purpose: C interface to RiscOS - * Author: Timothy G Roddis - * History: 7-Feb-94: TGR: created - * - */ - -#ifndef __os_h -#define __os_h - -typedef struct -{ - unsigned int low,high; /* This is actually only a 5-byte value, with 4 bytes in low */ -} os_UTC; - -#define os_SpriteOp_SelectSprite 24 -#define os_SpriteOp_SetPointerShape 36 -#define os_SpriteOp_ReadInfo 40 - -#define os_Module_LookupModuleName 18 - -#endif diff --git a/h/rmensure b/h/rmensure deleted file mode 100644 index 15764ab13853c7e2912cb57e115504adc5bd26ab..0000000000000000000000000000000000000000 --- a/h/rmensure +++ /dev/null @@ -1,22 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: rmensure.h - * Purpose: ensuring a module is loaded - * Author: IDJ - * History: 24-Jun-94: IDJ: created - */ - - -extern _kernel_oserror *rmensure (char *module_name, char *file_name, char *module_version); diff --git a/h/services b/h/services deleted file mode 100644 index c0bf956f04674fd735f0b0269773d78fb0552022..0000000000000000000000000000000000000000 --- a/h/services +++ /dev/null @@ -1,35 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: services.h - * Purpose: service call numbers - * Author: Ian Johnson - * History: 11-Aug-93: IDJ: created - * - */ - -#ifndef __services_h -#define __services_h - - -#define Service_Memory 0x11 -#define Service_Reset 0x27 -#define Service_StartWimp 0x49 -#define Service_WimpCloseDown 0x53 -#define Service_FilterManagerInstalled 0x87 -#define Service_DynamicAreaRenumber 0x92 - - - -#endif diff --git a/h/slist b/h/slist deleted file mode 100644 index 5c924e65d5a9a3c11e4b7151e4fc707d3bde24e1..0000000000000000000000000000000000000000 --- a/h/slist +++ /dev/null @@ -1,31 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -typedef struct _SLIST { - struct _SLIST *next; - int members[255]; -} SList; - -void *slist_add_new(void **_head,int size,char *tag); - - -void slist_delete_member(void **_head,void *member); - - -void *slist_find_member(void **_head,int field, int value); - - -void *slist_find_matched_member(void **_head,int (*func)(void *list,int value), int value); - -void slist_delete_and_call(void **_head,void (*func)(void *value)); diff --git a/h/string32 b/h/string32 deleted file mode 100644 index 6417aed6339749c0738782725d9f9289e43fb3a5..0000000000000000000000000000000000000000 --- a/h/string32 +++ /dev/null @@ -1,56 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: string32.h - * Purpose: strings terminated by char < 32 - * Author: Timothy Roddis - * History: 24-Jan-94: IDJ: created from original TGR sources - */ - -/* Strings passed to the toolbox might be terminated with any control character ... */ - - - -extern void string_copy (char *dst_txt, char *src_txt); - /* - * copy a ctrl-terminated string to a buffer big enough to - * hold the result (no length checking). - */ - - - - -extern char *string_copy_chk (char *dst_txt, char *src_txt, int max_len); - /* - * copy a ctrl-terminated string to a buffer checking it is big enough to - * hold the result. Return NULL and nul-terminate, if dst buffer not - * big enough. - */ - - - -extern int string_length (char *txt); - /* - * return length of ctrl-terminated string - */ - - -extern void string_to_buffer (char *dst_txt, char *src_txt, int *max_len); - /* - * general purpose routine to fill in a user-supplied buffer (and report - * number of bytes written), or just report size of buffer needed. - * If buffer is supplied (dst_txt != 0), then *max_len gives size of supplied - * buffer; if this is not large enough, don't return an error, but return - * size of bufer required! - */ diff --git a/h/style b/h/style deleted file mode 100644 index 227956292aa806c3c02ff9d7d846afe76e639191..0000000000000000000000000000000000000000 --- a/h/style +++ /dev/null @@ -1,345 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* Title: style.h - * Purpose: Constants defined by the RISC OS 3 Style Guide - * Author: IDJ - * History: 03-Nov-93: created - * 07-Mar-94: CSM: Removed RJUSTIFY from label flags - * 13-Jun-94: NK : display fields now unfilled - * 06-Jun-97: PW : Added writable icons without borders for Daytona - * 24-Jun-97: PW : Changed slider look for Daytona - */ - -#ifndef __style_h -#define __style_h - -#ifndef __wimp_h -#include "twimp.h" -#endif - -/* --- Iconbar Icons --- */ - -#define style_ICONBAR_FORECOL 7 /* black text */ -#define style_ICONBAR_BACKCOL 1 /* v. light grey background */ - -#define style_ICONBAR_TEXT_AND_SPRITE_YMAX 84 /* OS Units */ -#define style_ICONBAR_TEXT_AND_SPRITE_GAP 4 /* OS Units gap between text and base of sprite */ -#define style_ICONBAR_TEXT_AND_SPRITE_TEXT_HEIGHT 32 /* OS Units height of text */ -#define style_ICONBAR_TEXT_AND_SPRITE_BASE (-16) /* base line of text&sprite icon */ -#define style_ICONBAR_TEXT_AND_SPRITE_TYPE wimp_BUTTON_CLICK -#define style_ICONBAR_TEXT_AND_SPRITE_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_SPRITE |\ - wimp_ICONFLAGS_HCENTRE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_FORECOL * style_ICONBAR_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_ICONBAR_BACKCOL) |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_ICONBAR_TEXT_AND_SPRITE_TYPE)\ - ) - -#define style_ICONBAR_SPRITE_YMAX 68 /* OS Units */ -#define style_ICONBAR_SPRITE_BASE 0 /* base of sprite only icon */ -#define style_ICONBAR_SPRITE_TYPE wimp_BUTTON_CLICK -#define style_ICONBAR_SPRITE_ICONFLAGS (wimp_ICONFLAGS_SPRITE |\ - wimp_ICONFLAGS_HCENTRE |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_ICONBAR_SPRITE_TYPE)\ - ) - - - -/* --- Windows --- */ - -#define style_WINDOW_TITLE_FORECOL 7 /* black text */ -#define style_WINDOW_TITLE_BACKCOL 2 /* grey background */ -#define style_WINDOW_TITLE_HIGHLIGHTED 12 /* cream title bar when selected */ -#define style_WINDOW_OUTER_SCROLL 3 /* dark grey backgrnd for scroll bar */ -#define style_WINDOW_INNER_SCROLL 1 /* light grey scroll sausage */ -#define style_WINDOW_STAGGER 48 /* offset of subsequent windows after first - window is opened in centre of screen */ - - -/* --- Menus --- */ - -#define style_MENU_TITLE_FORECOL 7 /* black text */ -#define style_MENU_TITLE_BACKCOL 2 /* grey background */ -#define style_MENU_ENTRY_FORECOL 7 /* black text */ -#define style_MENU_ENTRY_BACKCOL 0 /* white backgnd for entries */ - -#define style_MENU_ENTRY_HEIGHT 44 /* entries are 44 OS units high */ -#define style_MENU_ENTRY_GAP 0 /* no gap between menu entries */ -#define style_MENU_OFFSET 64 /* open menu 64 OS units to left of pointer */ -#define style_MENU_ICONBAR_BASE 96 /* base of iconbar menu is 96 OS units from bottom of screen */ - - -/* --- Gadgets (buttons in dialogue boxes) --- */ - -#define style_INTER_GADGET_SPACE 8 /* OS Units space between gadgets in a dbox */ - - -#define style_ACTION_BUTTON_HEIGHT 52 /* OS Units */ -#define style_ACTION_BUTTON_FORECOL 7 /* black text */ -#define style_ACTION_BUTTON_BACKCOL 1 /* v. light grey background */ -#define style_ACTION_BUTTON_TYPE wimp_BUTTON_CLICK -#define style_ACTION_BUTTON_CENTERING (wimp_ICONFLAGS_HCENTRE | wimp_ICONFLAGS_VCENTRE) -#define style_ACTION_BUTTON_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_HAS_BORDER |\ - style_ACTION_BUTTON_CENTERING |\ - wimp_ICONFLAGS_FILLED |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_ACTION_BUTTON_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_ACTION_BUTTON_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_ACTION_BUTTON_BACKCOL)\ - ) -#define style_ACTION_BUTTON_VALIDSTR "R5,3;F17;AA~A" - - -#define style_DEFAULT_ACTION_HEIGHT 68 /* OS Units */ -#define style_DEFAULT_ACTION_FORECOL 7 /* black text */ -#define style_DEFAULT_ACTION_BACKCOL 1 /* v. light grey background */ -#define style_DEFAULT_ACTION_TYPE wimp_BUTTON_CLICK -#define style_DEFAULT_ACTION_CENTERING (wimp_ICONFLAGS_HCENTRE | wimp_ICONFLAGS_VCENTRE) -#define style_DEFAULT_ACTION_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_HAS_BORDER |\ - style_DEFAULT_ACTION_CENTERING |\ - wimp_ICONFLAGS_FILLED |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_DEFAULT_ACTION_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_DEFAULT_ACTION_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_DEFAULT_ACTION_BACKCOL)\ - ) -#define style_DEFAULT_ACTION_VALIDSTR "R6,3;AA~A" - - -#define style_RADIO_BUTTON_HEIGHT 44 /* OS Units */ -#define style_RADIO_BUTTON_FORECOL 7 /* black text */ -#define style_RADIO_BUTTON_TYPE wimp_BUTTON_CLICK -#define style_RADIO_BUTTON_TEXT_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_RADIO_BUTTON_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_RADIO_BUTTON_FORECOL) |\ - (wimp_ICONFLAGS_FORECOL * style_RADIO_BUTTON_FORECOL)\ - ) -#define style_RADIO_BUTTON_TEXT_VALIDSTR "f17" - -#define style_RADIO_BUTTON_BUTTON_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_SPRITE |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_RADIO_BUTTON_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_RADIO_BUTTON_FORECOL)\ - ) -#define style_RADIO_BUTTON_BUTTON_VALIDSTR "Sradiooff,radioon" - - -#define style_OPTION_BUTTON_HEIGHT 44 /* OS Units */ -#define style_OPTION_BUTTON_FORECOL 7 /* black text */ -#define style_OPTION_BUTTON_BACKCOL 1 /* light grey, necessary since icon is semi-filled */ -#define style_OPTION_BUTTON_TYPE wimp_BUTTON_CLICK - -#define style_OPTION_BUTTON_TEXT_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_OPTION_BUTTON_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_OPTION_BUTTON_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_OPTION_BUTTON_BACKCOL) \ - ) -#define style_OPTION_BUTTON_TEXT_VALIDSTR "f17" - -#define style_OPTION_BUTTON_BUTTON_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_SPRITE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_OPTION_BUTTON_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_OPTION_BUTTON_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_OPTION_BUTTON_BACKCOL) \ - ) -#define style_OPTION_BUTTON_BUTTON_VALIDSTR "Soptoff,opton" - - - -#define style_WRITABLE_FIELD_HEIGHT 68 /* OS Units */ -#define style_WRITABLE_FIELD_FORECOL 7 /* black text */ -#define style_WRITABLE_FIELD_BACKCOL 0 /* white background */ -#define style_WRITABLE_FIELD_TYPE wimp_BUTTON_WRITABLE - -#ifdef DAYTONA_BUILD -#define style_WRITABLE_FIELD_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_FILLED |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_WRITABLE_FIELD_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_WRITABLE_FIELD_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_WRITABLE_FIELD_BACKCOL)\ - ) -#else -#define style_WRITABLE_FIELD_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_HAS_BORDER |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_FILLED |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_WRITABLE_FIELD_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_WRITABLE_FIELD_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_WRITABLE_FIELD_BACKCOL)\ - ) -#endif /* DAYTONA_BUILD */ - -#ifdef THICK_WRITABLE_BORDERS -#define style_WRITABLE_FIELD_VALIDSTR "Pptr_write;R5;C//0/0/0/0" /* NOT Ktar! */ -#else -#define style_WRITABLE_FIELD_VALIDSTR "Pptr_write" /* NOT Ktar! */ -#endif - - -#define style_DISPLAY_FIELD_HEIGHT 52 /* OS Units */ -#define style_DISPLAY_FIELD_FORECOL 7 /* black text */ -#define style_DISPLAY_FIELD_BACKCOL 1 /* v. light grey background */ -#define style_DISPLAY_FIELD_TYPE wimp_BUTTON_NEVER -#define style_DISPLAY_FIELD_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_HAS_BORDER |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_FILLED |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_DISPLAY_FIELD_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_DISPLAY_FIELD_FORECOL) |\ - (wimp_ICONFLAGS_BACKCOL * style_DISPLAY_FIELD_BACKCOL)\ - ) -#define style_DISPLAY_FIELD_VALIDSTR "R2;f17" /* make sure colours are ok when we come to ff */ - -#ifdef DAYTONA_BUILD -#define style_SLIDER_BORDERSIZE 4 -#define style_HSLIDER_WELL_BACKCOL 7 /* black */ -#define style_HSLIDER_WELL_TYPE wimp_BUTTON_NEVER -#define style_HSLIDER_WELL_ICONFLAGS (wimp_ICONFLAGS_FILLED |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_HSLIDER_WELL_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_HSLIDER_WELL_BACKCOL)\ - ) -#define style_HSLIDER_WELL_VALIDSTR "" -#else /* DAYTONA_BUILD */ -#define style_SLIDER_BORDERSIZE 12 -//#define style_HSLIDER_HEIGHT 40 /* OS Units */ - -//#define style_HSLIDER_WELL_HEIGHT 40 /* OS Units */ -#define style_HSLIDER_WELL_BACKCOL 1 /* v. light grey */ -#define style_HSLIDER_WELL_TYPE wimp_BUTTON_NEVER -#define style_HSLIDER_WELL_ICONFLAGS (wimp_ICONFLAGS_HAS_BORDER |\ - wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_HSLIDER_WELL_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_HSLIDER_WELL_BACKCOL)\ - ) -#define style_HSLIDER_WELL_VALIDSTR "R2" -#endif /* DAYTONA_BUILD */ - -#define style_HSLIDER_BACKGND_HEIGHT 16 /* OS Units */ -#define style_HSLIDER_BACKGND_BACKCOL 0 /* white */ -#define style_HSLIDER_BACKGND_TYPE wimp_BUTTON_CLICK_DRAG -#define style_HSLIDER_BACKGND_ICONFLAGS (wimp_ICONFLAGS_FILLED |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_HSLIDER_BACKGND_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_HSLIDER_BACKGND_BACKCOL)\ - ) - -#define style_HSLIDER_VALUE_HEIGHT 16 /* OS Units */ -#define style_HSLIDER_VALUE_BACKCOL 5 /* grey as default - can be different - style guide does not define colour */ -#define style_HSLIDER_VALUE_TYPE wimp_BUTTON_CLICK_DRAG -#define style_HSLIDER_VALUE_ICONFLAGS (wimp_ICONFLAGS_FILLED |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_HSLIDER_VALUE_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_HSLIDER_VALUE_BACKCOL)\ - ) - -//#define style_VSLIDER_WIDTH 20 /* OS Units */ - -//#define style_VSLIDER_WELL_WIDTH 20 /* OS Units */ -#ifdef DAYTONA_BUILD -#define style_VSLIDER_WELL_BACKCOL 7 /* black */ -#define style_VSLIDER_WELL_TYPE wimp_BUTTON_NEVER -#define style_VSLIDER_WELL_ICONFLAGS (wimp_ICONFLAGS_FILLED |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_HSLIDER_WELL_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_HSLIDER_WELL_BACKCOL)\ - ) -#define style_VSLIDER_WELL_VALIDSTR "" -#else /* DAYTONA_BUILD */ -#define style_VSLIDER_WELL_BACKCOL 1 /* v. light grey */ -#define style_VSLIDER_WELL_TYPE wimp_BUTTON_NEVER -#define style_VSLIDER_WELL_ICONFLAGS (wimp_ICONFLAGS_HAS_BORDER |\ - wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_VSLIDER_WELL_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_VSLIDER_WELL_BACKCOL)\ - ) -#define style_VSLIDER_WELL_VALIDSTR "R2" -#endif /* DAYTONA_BUILD */ - -#define style_VSLIDER_BACKGND_WIDTH 16 /* OS Units */ -#define style_VSLIDER_BACKGND_BACKCOL 0 /* white */ -#define style_VSLIDER_BACKGND_TYPE wimp_BUTTON_CLICK_DRAG -#define style_VSLIDER_BACKGND_ICONFLAGS (wimp_ICONFLAGS_FILLED |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_VSLIDER_BACKGND_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_VSLIDER_BACKGND_BACKCOL)\ - ) - -#define style_VSLIDER_VALUE_WIDTH 16 /* OS Units */ -#define style_VSLIDER_VALUE_BACKCOL 5 /* grey as default - can be different - style guide does not define colour */ -#define style_VSLIDER_VALUE_TYPE wimp_BUTTON_CLICK_DRAG -#define style_VSLIDER_VALUE_ICONFLAGS (wimp_ICONFLAGS_FILLED |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_VSLIDER_VALUE_TYPE) |\ - (wimp_ICONFLAGS_BACKCOL * style_VSLIDER_VALUE_BACKCOL)\ - ) - - - -#define style_ADJUSTER_ARROW_HEIGHT 32 /* OS Units */ -#define style_ADJUSTER_ARROW_WIDTH 32 /* OS Units */ -#define style_ADJUSTER_ARROW_GAP 8 /* OS Units */ -#define style_ADJUSTER_ARROW_DOWN_VALIDSTR "R5;sdown,pdown" -#define style_ADJUSTER_ARROW_UP_VALIDSTR "R5;sup,pup" -#define style_ADJUSTER_ARROW_LEFT_VALIDSTR "R5;sleft,pleft" -#define style_ADJUSTER_ARROW_RIGHT_VALIDSTR "R5;sright,pright" - -#define style_ADJUSTER_ARROW_TYPE wimp_BUTTON_AUTO_REPEAT -#define style_ADJUSTER_ARROW_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_SPRITE |\ - wimp_ICONFLAGS_HCENTRE |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_ADJUSTER_ARROW_TYPE)\ - ) - - -#define style_POPUP_MENU_HEIGHT 44 /* OS Units */ -#define style_POPUP_MENU_WIDTH 44 /* OS Units */ -#define style_POPUP_MENU_TYPE wimp_BUTTON_CLICK -#define style_POPUP_MENU_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_SPRITE |\ - wimp_ICONFLAGS_HCENTRE |\ - wimp_ICONFLAGS_VCENTRE |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_POPUP_MENU_TYPE)\ - ) -#define style_POPUP_MENU_VALIDSTR "R5;sgright,pgright" - - -#define style_TEXT_LABEL_MAX_WIDTH 40 /* OS Units */ -#define style_TEXT_LABEL_FORECOL 7 /* black text */ -#define style_TEXT_LABEL_TYPE wimp_BUTTON_NEVER -#define style_TEXT_LABEL_ICONFLAGS (wimp_ICONFLAGS_TEXT |\ - wimp_ICONFLAGS_INDIRECT |\ - (wimp_ICONFLAGS_BUTTON_TYPE * style_TEXT_LABEL_TYPE) |\ - (wimp_ICONFLAGS_FORECOL * style_TEXT_LABEL_FORECOL)\ - ) - -#endif - diff --git a/h/toolboxmem b/h/toolboxmem deleted file mode 100644 index 75f0d32ed7f74ff33807753a820b7c5d8a57cb26..0000000000000000000000000000000000000000 --- a/h/toolboxmem +++ /dev/null @@ -1,28 +0,0 @@ -/* Copyright 1998 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* Title: toolboxmem.h - * Purpose: Veneers onto Toolbox memory allocation SWIs - * Author: Kevin Bracey - * History: 22-Nov-96: KJB: created - */ - -#ifndef __toolboxmem_h -#define __toolboxmem_h - -extern void *toolbox_memory_alloc(size_t); -extern void *toolbox_memory_extend(void *, int); -extern void toolbox_memory_free(void *); - -#endif diff --git a/h/twimp b/h/twimp deleted file mode 100644 index 562c8cb3e2b0bf6e4a5f847f2e5c06c669e18338..0000000000000000000000000000000000000000 --- a/h/twimp +++ /dev/null @@ -1,895 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* Title: wimp.h - * Purpose: C interface to RISC OS Wimp routines. - * Author: IDJ - * History: 16-Sep-93: IDJ: created - * 25-Nov-96: EPW: Updated structures for nested window support - */ - -# ifndef __wimp_h -# define __wimp_h - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - -#include "kernel.h" - -#define wimp_ENULL 0 -#define wimp_EREDRAW 1 -#define wimp_EOPEN 2 -#define wimp_ECLOSE 3 -#define wimp_EPTR_LEAVE 4 -#define wimp_EPTR_ENTER 5 -#define wimp_EBUT 6 -#define wimp_EUSER_DRAG 7 -#define wimp_EKEY 8 -#define wimp_EMENU 9 -#define wimp_ESCROLL 10 -#define wimp_ELOSE_CARET 11 -#define wimp_EGAIN_CARET 12 -#define wimp_EPOLL_WORD 13 -#define wimp_ESEND 17 -#define wimp_ESEND_WANT_ACK 18 -#define wimp_EACK 19 -#define wimp_ETOOLBOX_EVENT 0x200 - - -#define wimp_EMNULL (1 << wimp_ENULL) -#define wimp_EMREDRAW (1 << wimp_EREDRAW) -#define wimp_EMOPEN (1 << wimp_EOPEN) -#define wimp_EMCLOSE (1 << wimp_ECLOSE) -#define wimp_EMPTR_LEAVE (1 << wimp_EPTR_LEAVE) -#define wimp_EMPTR_ENTER (1 << wimp_EPTR_ENTER) -#define wimp_EMBUT (1 << wimp_EBUT) -#define wimp_EMUSER_DRAG (1 << wimp_EUSER_DRAG) -#define wimp_EMKEY (1 << wimp_EKEY) -#define wimp_EMMENU (1 << wimp_EMENU) -#define wimp_EMSCROLL (1 << wimp_ESCROLL) -#define wimp_EMLOSE_CARET (1 << wimp_ELOSE_CARET) -#define wimp_EMGAIN_CARET (1 << wimp_EGAIN_CARET) -#define wimp_EMPOLL_WORD (1 << wimp_EPOLL_WORD) -#define wimp_EMSEND (1 << wimp_ESEND) -#define wimp_EMSEND_WANT_ACK (1 << wimp_ESEND_WANT_ACK) -#define wimp_EMACK (1 << wimp_EACK) - - -/* --- wimp colours --- */ - -#define wimp_BLACK 7 -#define wimp_VERY_LIGHT_GREY 1 - - -/* --- wimp icons --- */ - -#define wimp_ICONBAR (-2) - -/* button types */ - -#define wimp_BUTTON_NEVER 0 -#define wimp_BUTTON_ALWAYS 1 -#define wimp_BUTTON_AUTO_REPEAT 2 -#define wimp_BUTTON_CLICK 3 -#define wimp_BUTTON_RELEASE 4 -#define wimp_BUTTON_DOUBLE_CLICK 5 -#define wimp_BUTTON_CLICK_DRAG 6 -#define wimp_BUTTON_RELEASE_DRAG 7 -#define wimp_BUTTON_DOUBLE_DRAG 8 -#define wimp_BUTTON_MENU_ICON 9 -#define wimp_BUTTON_DOUBLE_CLICK_DRAG 10 -#define wimp_BUTTON_RADIO 11 -#define wimp_BUTTON_WRITE_CLICK_DRAG 14 -#define wimp_BUTTON_WRITABLE 15 - - -/* icon flags */ - -#define wimp_ICONFLAGS_TEXT 0x00000001 -#define wimp_ICONFLAGS_SPRITE 0x00000002 -#define wimp_ICONFLAGS_HAS_BORDER 0x00000004 -#define wimp_ICONFLAGS_HCENTRE 0x00000008 -#define wimp_ICONFLAGS_VCENTRE 0x00000010 -#define wimp_ICONFLAGS_FILLED 0x00000020 -#define wimp_ICONFLAGS_ANTI_ALIASED 0x00000040 -#define wimp_ICONFLAGS_NEEDS_HELP 0x00000080 -#define wimp_ICONFLAGS_INDIRECT 0x00000100 -#define wimp_ICONFLAGS_RJUSTIFY 0x00000200 -#define wimp_ICONFLAGS_NO_CANCEL 0x00000400 -#define wimp_ICONFLAGS_HALF_SIZE 0x00000800 - -#define wimp_ICONFLAGS_BUTTON_TYPE 0x00001000 /* multiply by button type you want */ -#define wimp_ICONFLAGS_ESG 0x00010000 /* multiply by ESG you want */ - -#define wimp_ICONFLAGS_INVERT 0x00200000 -#define wimp_ICONFLAGS_FADED 0x00400000 -#define wimp_ICONFLAGS_DELETED 0x00800000 - -#define wimp_ICONFLAGS_FORECOL 0x01000000U /* multiply by colour you want */ -#define wimp_ICONFLAGS_BACKCOL 0x10000000U /* multiply by colour you want */ - - - -typedef struct -{ - int xmin, ymin, xmax, ymax; -} wimp_Bbox; - - -typedef union -{ - char text[12]; /* up to 12 bytes of text */ - - char sprite_name[12]; /* up to 12 bytes of sprite name */ - - struct - { - union - { - char *name; - void *sprite_ptr; - } sprite; - void *sprite_area; /* 0->use the common sprite area */ - /* 1->use the wimp sprite area */ - int name_len; /* if 0, then use sprite.sprite_ptr */ - } indirect_sprite; - - struct - { - char *buffer; /* pointer to text buffer */ - char *valid_string; /* pointer to validation string */ - int buff_len; /* length of text buffer */ - } indirect_text; - - struct - { - char *buffer; /* pointer to text buffer */ - char *valid_string; /* pointer to validation string */ - int buff_len; /* length of text buffer */ - } indirect_text_and_sprite; - -} wimp_IconData; - - -typedef struct -{ - wimp_Bbox bbox; /* icon's bounding box */ - unsigned int flags; /* icon's flags word */ - wimp_IconData data; /* icon's data (12 bytes) */ - -} wimp_Icon; - -typedef struct -{ - int window_handle; - int icon_handle; -} wimp_IconDelete; - -typedef struct -{ - int window_handle; - wimp_Icon icon; -} wimp_IconCreate; - -typedef struct -{ - int window_handle; - int icon_handle; - unsigned int EOR_word; - unsigned int clear_word; -} wimp_SetIconState; - -typedef struct -{ - int window_handle ; - int icon_handle ; - wimp_Icon icon ; -} wimp_GetIconState ; - -/* --- Wimp menus --- */ - -#define wimp_KeepMenu 0x5045454b /* 'KEEP' (take note, Ian) */ - -#define wimp_MENUFLAGS_TICKED 0x00000001 -#define wimp_MENUFLAGS_DOTTED_LINE 0x00000002 -#define wimp_MENUFLAGS_WRITABLE 0x00000004 -#define wimp_MENUFLAGS_SUBMENU_MESSAGE 0x00000008 -#define wimp_MENUFLAGS_SUBMENU_OPENABLE 0x00000010 -#define wimp_MENUFLAGS_LAST_ITEM 0x00000080 -#define wimp_MENUFLAGS_TITLE_INDIRECT 0x00000100 - -typedef struct -{ - wimp_IconData title; - char title_fgnd; - char title_bgnd; - char worka_fgnd; - char worka_bgnd; - int width; - int height; - int vert_gap; - -} wimp_MenuHeader; - -typedef struct -{ - wimp_MenuHeader hdr; - /* items come here in memory */ -} wimp_Menu; - - -typedef struct -{ - int flags; - wimp_Menu *submenu; - int icon_flags; - wimp_IconData icon_data; - -} wimp_MenuEntry; - -#define wimp_menu_entry(m, i) (((wimp_MenuEntry*)(&m->hdr + 1)) + i) - - - -/* --- wimp Windows --- */ - -typedef struct -{ - wimp_Bbox box; /* screen coords of work area */ - int scx, - scy; /* scroll bar positions */ - int behind; /* handle to open window behind, or -1 if top */ - int flags; /* word of flag bits */ - char colours[8]; /* colours */ - wimp_Bbox ex; /* maximum extent of work area */ - int title_flags; /* icon flags for title bar */ - int work_area_flags; /* just button type relevant */ - void *sprite_area; /* sprite area pointer for window */ - int min_size; /* two 16-bit OS-unit fields, giving min size of window. 0->use title. */ - wimp_IconData title; /* title icon data */ - int nicons; /* no. of icons in window */ - /* icon defs follow here in memory */ -} wimp_Window; - - -/* window flags */ - -#define wimp_WINDOWFLAGS_OLD_HAS_TITLE 0x00000001 /* deprecated */ -#define wimp_WINDOWFLAGS_MOVEABLE 0x00000002 -#define wimp_WINDOWFLAGS_OLD_VSCROLLBAR 0x00000004 /* deprecated */ -#define wimp_WINDOWFLAGS_OLD_HSCROLLBAR 0x00000008 /* deprecated */ -#define wimp_WINDOWFLAGS_AUTOREDRAW 0x00000010 -#define wimp_WINDOWFLAGS_PANE 0x00000020 -#define wimp_WINDOWFLAGS_ALLOW_OFF_SCREEN 0x00000040 -#define wimp_WINDOWFLAGS_OLD_NO_BACK_NO_CLOSE 0x00000080 /* deprecated */ -#define wimp_WINDOWFLAGS_CLICK_SCROLL_REQUEST 0x00000100 -#define wimp_WINDOWFLAGS_AUTOREPEAT_SCROLL_REQUEST 0x00000200 -#define wimp_WINDOWFLAGS_GCOL 0x00000400 -#define wimp_WINDOWFLAGS_BACKDROP 0x00000800 -#define wimp_WINDOWFLAGS_HOT_KEYS 0x00001000 -#define wimp_WINDOWFLAGS_FORCE_ON_SCREEN 0x00002000 -#define wimp_WINDOWFLAGS_IGNORE_RIGHT_EXTENT 0x00004000 -#define wimp_WINDOWFLAGS_IGNORE_LOWER_EXTENT 0x00008000 - -#define wimp_WINDOWFLAGS_OPEN 0x00010000 -#define wimp_WINDOWFLAGS_FULLY_VISIBLE 0x00020000 -#define wimp_WINDOWFLAGS_FULL_SIZE 0x00040000 -#define wimp_WINDOWFLAGS_TOGGLE_REQUEST 0x00080000 -#define wimp_WINDOWFLAGS_INPUT_FOCUS 0x00100000 -#define wimp_WINDOWFLAGS_FORCE_ONCE_ON_SCREEN 0x00200000 -#define wimp_WINDOWFLAGS_RESERVED1 0x00400000 -#define wimp_WINDOWFLAGS_RESERVED2 0x00800000 - -#define wimp_WINDOWFLAGS_HAS_BACK_ICON 0x01000000 -#define wimp_WINDOWFLAGS_HAS_CLOSE_ICON 0x02000000 -#define wimp_WINDOWFLAGS_HAS_TITLE_BAR 0x04000000 -#define wimp_WINDOWFLAGS_HAS_TOGGLE_ICON 0x08000000 -#define wimp_WINDOWFLAGS_HAS_VSCROLLBAR 0x10000000 -#define wimp_WINDOWFLAGS_HAS_ADJUST_SIZE_ICON 0x20000000 -#define wimp_WINDOWFLAGS_HAS_HSCROLLBAR 0x40000000 -#define wimp_WINDOWFLAGS_USE_NEW_FLAGS 0x80000000 - - -typedef struct -{ - int window_handle; /* handle of window to open */ - wimp_Bbox visible_area; /* visible area coords */ - int scx, - scy; /* scroll offsets */ - int behind; /* handle to open window behind */ -} wimp_OpenWindow; - -typedef struct -{ - int window_handle; /* handle of window to open */ - wimp_Bbox visible_area; /* visible area coords */ - int scx, - scy; /* scroll offsets */ - int behind; /* handle to open window behind */ - /* The following requires nested window support in the Wimp */ - int window_flags; -} wimp_NestedOpenWindow; - -#define wimp_OpenWindow_TopOfStack (-1) -#define wimp_OpenWindow_BottomOfStack (-2) -#define wimp_OpenWindow_BehindBackDrop (-3) - - -typedef struct -{ - wimp_OpenWindow open; - int flags; /* as passed to Wimp_CreateWindow */ -} wimp_GetWindowState; - - -typedef struct -{ - int window_handle; - wimp_Window window; -} wimp_GetWindowInfo; - - -typedef struct -{ - int window_handle; - wimp_Bbox box; -} wimp_GetWindowOutline; - - -typedef struct -{ - int window_handle; - int icon_handle; - int x_caret_offset; - int y_caret_offset; - int caret_height; - int caret_index; -} wimp_SetCaretPosition, - wimp_GetCaretPosition; - -/* --- wimp Pointers --- */ - -/* for sprite op 36 */ - -#define wimp_POINTER_SHAPEFLAGS_SHAPE_NUMBER 0x00000001 -#define wimp_POINTER_SHAPEFLAGS_NOT_SET_SHAPE 0x00000010 -#define wimp_POINTER_SHAPEFLAGS_NOT_SET_PALETTE 0x00000020 -#define wimp_POINTER_SHAPEFLAGS_NOT_PROG_SHAPE_NUM 0x00000040 - -/* --- wimp pointer info --- */ - -typedef struct -{ - int x; - int y; - int button_state; - int window_handle; - int icon_handle; -} wimp_PointerInfo; - -/* --- wimp RGB word --- */ - -typedef struct -{ - char reserved; - char red; - char green; - char blue; -} wimp_RGB; - -/* --- wimp palette block --- */ - -typedef struct -{ - wimp_RGB colour[16]; - wimp_RGB border; - wimp_RGB pointer[3]; -} wimp_PaletteBlock; - -/* --- wimp message numbers --- */ - -#define wimp_MQUIT 0 -#define wimp_MDATA_SAVE 1 -#define wimp_MDATA_SAVE_ACK 2 -#define wimp_MDATA_LOAD 3 -#define wimp_MDATA_LOAD_ACK 4 -#define wimp_MDATA_OPEN 5 -#define wimp_MRAM_FETCH 6 -#define wimp_MRAM_TRANSMIT 7 -#define wimp_MPRE_QUIT 8 -#define wimp_MPALETTE_CHANGE 9 -#define wimp_MSAVE_DESKTOP 10 -#define wimp_MSHUT_DOWN 14 - -#define wimp_MSET_PRINTER 0x80147 - -#define wimp_MFILER_OPEN_DIR 0x400 -#define wimp_MFILER_CLOSE_DIR 0x401 -#define wimp_MFILER_OPEN_DIR_AT 0x402 -#define wimp_MFILER_SELECTION_DIRECTORY 0x403 -#define wimp_MFILER_ADD_SELECTION 0x404 -#define wimp_MFILER_ACTION 0x405 -#define wimp_MFILER_CONTROL_ACTION 0x406 -#define wimp_MFILER_SELECTION 0x407 - -#define wimp_MNOTIFY 0x40040 - -#define wimp_MMENU_WARNING 0x400c0 -#define wimp_MMODE_CHANGE 0x400c1 -#define wimp_MTASK_INITIALISE 0x400c2 -#define wimp_MTASK_CLOSE_DOWN 0x400c3 -#define wimp_MSLOT_SIZE 0x400c4 -#define wimp_MSET_SLOT 0x400c5 -#define wimp_MTASK_NAME_RQ 0x400c6 -#define wimp_MTASK_NAME_IS 0x400c7 -#define wimp_MTASK_STARTED 0x400c8 -#define wimp_MMENUS_DELETED 0x400c9 - -#define wimp_MHELP_REQUEST 0x502 -#define wimp_MHELP_REPLY 0x503 - -#define wimp_MTOOLBOX_EVENT Toolbox_SWIChunkBase - -typedef struct -{ - int size; /* 20<=size<=256, multiple of 4 */ - int task_handle; /* task handle of sender (filled in by wimp) */ - int my_ref; /* unique ref number (filled in by wimp) */ - int your_ref; /* (0==>none) if non-zero, acknowledge */ - int action; /* message action code */ -} wimp_MsgHdr; - - -typedef struct -{ - int mouse_x; - int mouse_y; - int buttons; - int window_handle; - int icon_handle; -} wimp_HelpRequest; - -typedef struct -{ - char text[236]; -} wimp_HelpReply; - -typedef struct -{ - wimp_Menu *submenu; - int x; - int y; - char data[256-sizeof(wimp_MsgHdr)-sizeof(wimp_Menu*)-sizeof(int)-sizeof(int)]; -} wimp_MenuWarning; - -typedef struct { - int window_handle; - int icon_handle; - int x; - int y; - int approx_size; - int filetype; - char filename [256-sizeof(wimp_MsgHdr)-6*sizeof(int)]; -} wimp_DataSave, wimp_DataSaveAck, wimp_DataLoad, wimp_DataLoadAck; - -/* The filename is a proposed leafname in Message_DataSave but a full pathname in later life. - In Risc OS 3 there is some extra information, word aligned, after the end of the full pathname - for Message_DataLoad block which is not indicated by the above data structure. -*/ - -typedef struct { - void *address; - int no_bytes; -} wimp_RAMFetch, wimp_RAMTransmit; - -/* In a RAMFetch, no_bytes is the buffer length, for the Transmit it is the number of copied bytes. -*/ - -#define wimp_MAX_MSG_DATA_SIZE (sizeof(wimp_Message)-sizeof(wimp_MsgHdr)) - -typedef struct -{ - wimp_MsgHdr hdr; - union - { - char chars[236]; - int words[59]; - wimp_HelpRequest help_request; - wimp_HelpReply help_reply; - wimp_MenuWarning menu_warning; - ToolboxEventMsg toolbox_event_msg; - wimp_DataSave data_save; - wimp_DataSaveAck data_save_ack; - wimp_DataLoad data_load; - wimp_DataLoadAck data_load_ack; - wimp_RAMFetch ram_fetch; - wimp_RAMTransmit ram_transmit; - } data; -} wimp_Message; - - -/* --- mouse clicks --- */ - -#define wimp_ADJUST_BUTTON 0x00000001 -#define wimp_MENU_BUTTON 0x00000002 -#define wimp_SELECT_BUTTON 0x00000004 - - -typedef struct -{ - int window_handle; -} wimp_RedrawWindowRequest; - - -typedef struct -{ - wimp_OpenWindow open_block; -} wimp_OpenWindowRequest; - - -typedef struct -{ - int window_handle; -} wimp_CloseWindowRequest; - - -typedef struct -{ - int window_handle; -} wimp_PointerLeavingWindow; - - -typedef struct -{ - int window_handle; -} wimp_PointerEnteringWindow; - - -typedef struct -{ - int x; - int y; - int buttons; - int window_handle; - int icon_handle; -} wimp_MouseClick; - - -typedef struct -{ - wimp_Bbox box; -} wimp_UserDragBox; - - -typedef struct -{ - wimp_GetCaretPosition caret; - int key_code; -} wimp_KeyPressed; - - -typedef struct -{ - int items[256]; -} wimp_MenuSelection; - - -typedef struct -{ - wimp_OpenWindow open_block; - int x_scroll_direction; - int y_scroll_direction; -} wimp_ScrollRequest; - - -typedef struct -{ - wimp_GetCaretPosition caret; -} wimp_LoseCaret, - wimp_GainCaret; - - -typedef struct -{ - int poll_word_address; - int poll_word_contents; -} wimp_PollWordNonZero; - - -typedef wimp_Message wimp_UserMessageAcknowledge; - - -typedef union -{ - wimp_RedrawWindowRequest redraw_window_request; - wimp_OpenWindowRequest open_window_request; - wimp_CloseWindowRequest close_window_request; - wimp_PointerLeavingWindow pointer_leaving_window; - wimp_PointerEnteringWindow pointer_entering_window; - wimp_MouseClick mouse_click; - wimp_UserDragBox user_drag_box; - wimp_KeyPressed key_pressed; - wimp_MenuSelection menu_selection; - wimp_ScrollRequest scroll_request; - wimp_LoseCaret lose_caret; - wimp_GainCaret gain_caret; - wimp_PollWordNonZero pollword_nonzero; - wimp_UserMessageAcknowledge user_message_acknowledge; - wimp_Message msg; - ToolboxEvent toolbox_event; - -} wimp_PollBlock; - -/* type used to pass information to Wimp_DragBox (see PRM 3-145) */ - -typedef struct _drag_box { - int wimp_window; - int drag_type; - wimp_Bbox dragging_box; - wimp_Bbox parent_box; - int *workspace; - void (*draw)(); - void (*remove)(); - void (*move)(); - } DragBox; - -/* type used to pass/get info for Wimp_GetWindowState */ - -typedef struct _window_info { - int window; - wimp_Bbox visible; - int scx,scy; - int infront; - int flags; - } WindowState; - -typedef struct _redraw_window { - int window; - wimp_Bbox visible; - int scx,scy; - wimp_Bbox current; - } WindowRedraw; - -_kernel_oserror *wimp_initialise (int version, - char *name, - int *messages, - int *cversion, - int *task); - -_kernel_oserror *wimp_create_window (wimp_Window *defn, int *handle); - -_kernel_oserror *wimp_create_icon (int priority, - wimp_IconCreate *defn, - int *handle); - -typedef struct { - int handle; -}wimp_DeleteWindow; - -_kernel_oserror *wimp_delete_window (wimp_DeleteWindow *block); - -_kernel_oserror *wimp_delete_icon (wimp_IconDelete *block); - -_kernel_oserror *wimp_open_window (wimp_OpenWindow *show); - -_kernel_oserror *wimp_open_window2 (wimp_NestedOpenWindow *show, - int parent_handle, - unsigned int alignment_flags); - -_kernel_oserror *wimp_close_window (int *window_handle); - -_kernel_oserror *wimp_poll (int mask, - wimp_PollBlock *block, - int *pollword, - int *event_code); - -_kernel_oserror *wimp_redraw_window (WindowRedraw *block, int *more); - -_kernel_oserror *wimp_update_window (WindowRedraw *block, int *more); - -_kernel_oserror *wimp_get_rectangle (WindowRedraw *block, int *more); - -_kernel_oserror *wimp_get_window_state (wimp_GetWindowState *state); - -_kernel_oserror *wimp_get_window_state2 (wimp_GetWindowState *state, - int *parent_handle, - unsigned int *alignment_flags); - -_kernel_oserror *wimp_get_window_info (wimp_GetWindowInfo *block); - -_kernel_oserror *wimp_set_icon_state (wimp_SetIconState *block); - -_kernel_oserror *wimp_get_icon_state (wimp_GetIconState *block); - -_kernel_oserror *wimp_get_pointer_info (wimp_PointerInfo *block); - -#define CancelDrag 0 - -_kernel_oserror *wimp_drag_box (DragBox *block); - -_kernel_oserror *wimp_force_redraw (int window_handle, - int xmin, - int ymin, - int xmax, - int ymax); - -_kernel_oserror *wimp_force_title_redraw (int window_handle); - -_kernel_oserror *wimp_set_caret_position (int window_handle, - int icon_handle, - int xoffset, - int yoffset, - int height, - int index); - -_kernel_oserror *wimp_get_caret_position (wimp_GetCaretPosition *block); - -#define CloseMenu ((void *) -1) -_kernel_oserror *wimp_create_menu (void * handle, - int x,int y); - -_kernel_oserror *wimp_decode_menu (void *data, - int *selections, - char *buffer); - -_kernel_oserror *wimp_which_icon (int window_handle, - int *icons, - unsigned int mask, - unsigned int match); - -_kernel_oserror *wimp_set_extent (int window_handle, wimp_Bbox *area); - -_kernel_oserror *wimp_set_pointer_shape (int shape, - void *data, - int width, - int height, - int activex, - int activey); - -_kernel_oserror *wimp_open_template (char *name); - -_kernel_oserror *wimp_close_template (void); - -_kernel_oserror *wimp_load_template (_kernel_swi_regs *regs); - -_kernel_oserror *wimp_process_key (int keycode); - -_kernel_oserror *wimp_close_down (int th); - -_kernel_oserror *wimp_start_task (char *cl, int *handle); - -int wimp_report_error (_kernel_oserror *er, - int flags, - char *name, - char *sprite, - void *area, - char *buttons); - -_kernel_oserror *wimp_get_window_outline (wimp_GetWindowOutline *block); - -_kernel_oserror *wimp_pollidle (int mask, - wimp_PollBlock *block, - int time, - int *pollword, - int *event_code); - -_kernel_oserror *wimp_plot_icon (wimp_Icon *block); - -_kernel_oserror *wimp_set_mode (int mode); - -typedef struct { - unsigned int colours[16]; - unsigned int border; - unsigned int pointer1; - unsigned int pointer2; - unsigned int pointer3; -} Palette; - -_kernel_oserror *wimp_set_palette (Palette *palette); - -_kernel_oserror *wimp_read_palette (Palette *palette); - -_kernel_oserror *wimp_set_colour (int colour); - -_kernel_oserror *wimp_send_message (int code, - void *block, - int handle, - int icon, - int *th); - -_kernel_oserror *wimp_create_submenu (void * handle, - int x,int y); - -typedef struct { - int r3; - int r4; - int r5; - int r6; - int r7; -}SpriteParams; - -_kernel_oserror *wimp_sprite_op (int code, - char *name, - SpriteParams *p); - -_kernel_oserror *wimp_base_of_sprites (void **rom, - void **ram); - -_kernel_oserror *wimp_block_copy (int handle, - int sxmin, - int symin, - int sxmax, - int symax, - int dxmin, - int dymin); - -_kernel_oserror *wimp_slot_size (int current, - int next, - int *current, - int *next, - int *free); - -/* readpixtrans and claimfreememory not supported */ - -_kernel_oserror *wimp_command_window (int type); - -_kernel_oserror *wimp_text_colour (int colour); - -_kernel_oserror *wimp_transfer_block (int sh, - void *sbuf, - int dh, - void *dbuf, - int size); - -typedef struct { - int r0; - int r1; -} WimpSysInfo; - -_kernel_oserror *wimp_read_sys_info (int reason, - WimpSysInfo *results); - -_kernel_oserror *wimp_set_font_colours (int fore, - int back); - -_kernel_oserror *wimp_get_menu_state (int report, - int *state, - int window, - int icon); - -/* no filter manager interface */ - -/* do not use these in toolbox applications */ -_kernel_oserror *wimp_add_messages (int *list); - -_kernel_oserror *wimp_remove_messages (int *list); - -_kernel_oserror *wimp_set_colour_mapping (int which_palette, - int *bpp1, - int *bpp2, - int *bpp4); - -_kernel_oserror *wimp_text_op (_kernel_swi_regs *regs); - -/* no extend or set watchdog state */ - -_kernel_oserror *wimp_resize_icon (int window, - int icon, - int xmin, - int ymin, - int xmax, - int ymax); - -#endif diff --git a/objects/h/DCS b/objects/h/DCS deleted file mode 100644 index e740bdb88714ea5233a5cebef87b456a00d64589..0000000000000000000000000000000000000000 --- a/objects/h/DCS +++ /dev/null @@ -1,121 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: DCS.h - * Purpose: client-visible information for the DCS Object class - * Author: Ian Johnson - * History: 8-Dec-93: IDJ: created - * - */ - - -#ifndef __DCS_h -#define __DCS_h - -#include "objects.window.h" - -/* ----------------------------------------- DCS templates ----------------------------------------- */ - -/* flags */ - -#define DCS_GenerateAboutToBeShown 0x00000001 -#define DCS_GenerateDialogueCompleted 0x00000002 - -/* template definition */ - -typedef struct -{ - int flags; - char * title; - int max_title; - char * message; - int max_message; - char * window; -} DCSTemplate; - - -/* ------------------------------ DCS SWIs and Toolbox_MiscOp reason codes ------------------------- */ - -#define DCS_SWIChunkBase 0x82a80 -#define DCS_ObjectClass DCS_SWIChunkBase -#define DCS_ClassSWI (DCS_SWIChunkBase + 0) -#define DCS_PostFilter (DCS_SWIChunkBase + 1) -#define DCS_PreFilter (DCS_SWIChunkBase + 2) - - -/* miscop reason codes */ - -#define DCS_GetWindowID 0 -#define DCS_SetMessage 1 -#define DCS_GetMessage 2 -#define DCS_SetTitle 3 -#define DCS_GetTitle 4 - - -/* ----------------------------------------- DCS Toolbox Events ------------------------------------ */ - -/* event codes */ - -#define DCS_AboutToBeShown (DCS_SWIChunkBase+0) -#define DCS_Discard (DCS_SWIChunkBase+1) -#define DCS_Save (DCS_SWIChunkBase+2) -#define DCS_DialogueCompleted (DCS_SWIChunkBase+3) -#define DCS_Cancel (DCS_SWIChunkBase+4) - -typedef struct -{ - ToolboxEventHeader hdr; - int r2; - union - { - TopLeft top_left; - WindowShowObjectBlock full_spec; - - } r3; - -} DCSAboutToBeShownEvent; - -typedef struct -{ - ToolboxEventHeader hdr; - -} DCSDiscardEvent; - -typedef struct -{ - ToolboxEventHeader hdr; - -} DCSSaveEvent; - -typedef struct -{ - ToolboxEventHeader hdr; - -} DCSDialogueCompletedEvent; - -typedef struct -{ - ToolboxEventHeader hdr; - -} DCSCancelEvent; - -/* ----------------------------------------- DCS Error Numbers ------------------------------------- */ - -#define DCS_ErrorBase (Program_Error | 0x0080b100) - -#define DCS_NoMemory (DCS_ErrorBase+0x01) -#define DCS_TasksActive (DCS_ErrorBase+0x02) - -#endif - diff --git a/objects/h/Quit b/objects/h/Quit deleted file mode 100644 index 4a05a32fd83fbeff1bf185535604b164f16bd91f..0000000000000000000000000000000000000000 --- a/objects/h/Quit +++ /dev/null @@ -1,95 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: Quit.h - * Purpose: client-visible information for the Quit Object class - * Author: Ian Johnson - * History: 8-Dec-93: IDJ: created - * - */ - - -#ifndef __Quit_h -#define __Quit_h - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - - -/* ----------------------------------------- Quit templates ----------------------------------------- */ - -/* flags */ - -#define Quit_GenerateAboutToBeShown 0x00000001 -#define Quit_GenerateDialogueCompleted 0x00000002 - -/* template definition */ - -typedef struct -{ - int flags; - char * title; - int max_title; - char * message; - int max_message; - char * window; -} QuitTemplate; - -/* ------------------------------ Quit SWIs and Toolbox_MiscOp reason codes ------------------------- */ - -#define Quit_SWIChunkBase 0x82a90 /* &10 + DCSSWIChunk */ -#define Quit_ObjectClass Quit_SWIChunkBase -#define Quit_ClassSWI (Quit_SWIChunkBase + 0) -#define Quit_PostFilter (Quit_SWIChunkBase + 1 - 0x10) -#define Quit_PreFilter (Quit_SWIChunkBase + 2 - 0x10) /* same as DCS */ - - -/* miscop reason codes */ - -#define Quit_GetWindowID 0 -#define Quit_SetMessage 1 -#define Quit_GetMessage 2 -#define Quit_SetTitle 3 -#define Quit_GetTitle 4 - - -/* ----------------------------------------- Quit Toolbox Events ------------------------------------ */ - -/* event codes */ - -#define Quit_AboutToBeShown (Quit_SWIChunkBase+0) /* remember these are just on from DCS */ -#define Quit_Quit (Quit_SWIChunkBase+1) -#define Quit_DialogueCompleted (Quit_SWIChunkBase+2) -#define Quit_Cancel (Quit_SWIChunkBase+3) - -typedef struct -{ - ToolboxEventHeader hdr; - int r2; - union - { - TopLeft top_left; - WindowShowObjectBlock full_spec; - - } r3; - -} QuitAboutToBeShownEvent; - - -/* ----------------------------------------- Quit Error Numbers ------------------------------------- */ - - -#endif - diff --git a/objects/h/colourdbox b/objects/h/colourdbox deleted file mode 100644 index 18a10dff39d9808511b041d6e264e97913492e07..0000000000000000000000000000000000000000 --- a/objects/h/colourdbox +++ /dev/null @@ -1,119 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: colourdbox.h - * Purpose: ColourDbox Objects - * Author: Timothy G Roddis - * History: 4-Mar-94: TGR: created - * - */ - -#ifndef __ColourDbox_h -#define __ColourDbox_h - -#ifndef __os_h -#include "os.h" -#endif - -#ifndef __window_h -#include "objects.window.h" -#endif - -#ifndef __wimp_h -#include "twimp.h" -#endif - -/* ColourDbox Templates **************************************************************************/ - -/* flags */ - -#define ColourDbox_GenerateShowEvent 0x00000001 -#define ColourDbox_GenerateHideEvent 0x00000002 -#define ColourDbox_IncludeNoneButton 0x00000004 -#define ColourDbox_SelectNoneButton 0x00000008 - -/* templates */ - -typedef struct -{ - unsigned int flags; - char *title; - int max_title; -/* char *help_message; - int max_help; -*/ unsigned int colour; -} ColourDboxTemplate; - -/* ColourDbox SWI calls **************************************************************************/ - -#define ColourDbox_SWIChunkBase 0x829c0 -#define ColourDbox_ObjectClass ColourDbox_SWIChunkBase -#define ColourDbox_ClassSWI (ColourDbox_SWIChunkBase + 0) -#define ColourDbox_PostFilter (ColourDbox_SWIChunkBase + 1) -#define ColourDbox_PreFilter (ColourDbox_SWIChunkBase + 2) - -/* ColourDbox Methods ****************************************************************************/ - -#define ColourDbox_GetWimpHandle 0 -#define ColourDbox_GetDialogueHandle 1 -#define ColourDbox_SetColour 2 -#define ColourDbox_GetColour 3 -#define ColourDbox_SetColourModel 4 -#define ColourDbox_GetColourModel 5 -#define ColourDbox_SetNoneAvailable 6 -#define ColourDbox_GetNoneAvailable 7 -#define ColourDbox_SetHelpMessage 8 -#define ColourDbox_GetHelpMessage 9 - - -/* ColourDbox Toolbox Events *********************************************************************/ - -#define ColourDbox_AboutToBeShown ColourDbox_SWIChunkBase -#define ColourDbox_DialogueCompleted (ColourDbox_SWIChunkBase + 1) -#define ColourDbox_ColourSelected (ColourDbox_SWIChunkBase + 2) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - union { - struct { - int x,y; - } coords; - WindowShowObjectBlock full; - - } info; - -} ColourDbox_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} ColourDbox_DialogueCompleted_Event; - -typedef struct { - ToolboxEventHeader hdr; - unsigned int colour_block[(212/4)]; -} ColourDbox_ColourSelected_Event; - -/* ColourDbox Errors *****************************************************************************/ - -#define ColourDbox_ErrorBase (Program_Error | 0x0080AE00) - -#define ColourDbox_AllocFailed (ColourDbox_ErrorBase+0x01) -#define ColourDbox_ShortBuffer (ColourDbox_ErrorBase+0x02) -#define ColourDbox_NoSuchTask (ColourDbox_ErrorBase+0x11) -#define ColourDbox_NoSuchMethod (ColourDbox_ErrorBase+0x12) -#define ColourDbox_NoSuchMiscOpMethod (ColourDbox_ErrorBase+0x13) -#define ColourDbox_TasksActive (ColourDbox_ErrorBase+0x00) - -#endif diff --git a/objects/h/colourmenu b/objects/h/colourmenu deleted file mode 100644 index 8fda864761e13188280e1f2a6a44ec0cde27dc44..0000000000000000000000000000000000000000 --- a/objects/h/colourmenu +++ /dev/null @@ -1,93 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: colourmenu.h - * Purpose: Colour Menu Objects - * Author: Timothy G Roddis - * History: 10-Jan-94: TGR: created - * - */ - -#ifndef __colourmenu_h -#define __colourmenu_h - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - -/* Colour Menu Templates ************************************************************************/ - -typedef struct -{ - int flags; - char *title; - int max_title; - int colour; -} ColourMenuTemplate; - -#define ColourMenu_GenerateShowEvent 0x00000001 -#define ColourMenu_GenerateHideEvent 0x00000002 -#define ColourMenu_NoneEntry 0x00000004 - -/* Colour Menu SWI calls ************************************************************************/ - -#define ColourMenu_SWIChunkBase 0x82980 -#define ColourMenu_ObjectClass ColourMenu_SWIChunkBase -#define ColourMenu_ClassSWI (ColourMenu_SWIChunkBase + 0) -#define ColourMenu_PostFilter (ColourMenu_SWIChunkBase + 1) -#define ColourMenu_PreFilter (ColourMenu_SWIChunkBase + 2) - -/* Colour Menu Methods **************************************************************************/ - -#define ColourMenu_SetColour 0 -#define ColourMenu_GetColour 1 -#define ColourMenu_SetNoneAvailable 2 -#define ColourMenu_GetNoneAvailable 3 -#define ColourMenu_SetTitle 4 -#define ColourMenu_GetTitle 5 - -/* Colour Menu Toolbox Events *******************************************************************/ - -#define ColourMenu_AboutToBeShown ColourMenu_SWIChunkBase -#define ColourMenu_HasBeenHidden (ColourMenu_SWIChunkBase + 1) -#define ColourMenu_Selection (ColourMenu_SWIChunkBase + 2) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - int x,y; -} ColourMenu_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} ColourMenu_HasBeenHidden_Event; - -typedef struct { - ToolboxEventHeader hdr; - int colour; -} ColourMenu_Selection_Event; - - -/* Colour Menu Errors ****************************************************************************/ - -#define ColourMenu_ErrorBase (Program_Error | 0x0080AD00) - -#define ColourMenu_AllocFailed (ColourMenu_ErrorBase+0x01) -#define ColourMenu_ShortBuffer (ColourMenu_ErrorBase+0x02) -#define ColourMenu_NoSuchTask (ColourMenu_ErrorBase+0x11) -#define ColourMenu_NoSuchMethod (ColourMenu_ErrorBase+0x12) -#define ColourMenu_NoSuchMiscOpMethod (ColourMenu_ErrorBase+0x13) -#define ColourMenu_TasksActive (ColourMenu_ErrorBase+0x00) - -#endif diff --git a/objects/h/fileinfo b/objects/h/fileinfo deleted file mode 100644 index 13feb8ac03e95d80771e8007229585fb5bd6b4a6..0000000000000000000000000000000000000000 --- a/objects/h/fileinfo +++ /dev/null @@ -1,132 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: fileinfo.h - * Purpose: FileInfo Objects - * Author: Timothy G Roddis - * History: 7-Feb-94: TGR: created - * - */ - -#ifndef __FileInfo_h -#define __FileInfo_h - -#ifndef __os_h -#include "os.h" -#endif - -#ifndef __window_h -#include "objects.window.h" -#endif - -#ifndef __wimp_h -#include "twimp.h" -#endif - - -/* FileInfo SWI calls ****************************************************************************/ - -#define FileInfo_SWIChunkBase 0x82ac0 -#define FileInfo_ObjectClass FileInfo_SWIChunkBase -#define FileInfo_ClassSWI (FileInfo_SWIChunkBase + 0) -#define FileInfo_PostFilter (FileInfo_SWIChunkBase + 1) -#define FileInfo_PreFilter (FileInfo_SWIChunkBase + 2) - -/* FileInfo Templates ****************************************************************************/ - -/* flags */ - -#define FileInfo_GenerateShowEvent 0x00000001 -#define FileInfo_GenerateHideEvent 0x00000002 - -/* templates */ - -typedef struct -{ - int flags; - char *title; - int max_title; - int modified; - int filetype; - char *filename; - int filesize; - os_UTC date; - char *window; - -} FileInfoTemplate; - -/* component IDs */ - -#define FileInfo_ComponentIDBase (FileInfo_SWIChunkBase<<4) - -#define FileInfo_DisplayField_Date (FileInfo_ComponentIDBase) -#define FileInfo_DisplayField_FileSize (FileInfo_ComponentIDBase + 1) -#define FileInfo_DisplayField_FileName (FileInfo_ComponentIDBase + 2) -#define FileInfo_DisplayField_FileType (FileInfo_ComponentIDBase + 3) -#define FileInfo_DisplayField_Modified (FileInfo_ComponentIDBase + 4) -#define FileInfo_Button_FileType (FileInfo_ComponentIDBase + 5) - -/* FileInfo Methods ******************************************************************************/ - -#define FileInfo_GetWindowID 0 -#define FileInfo_SetModified 1 -#define FileInfo_GetModified 2 -#define FileInfo_SetFileType 3 -#define FileInfo_GetFileType 4 -#define FileInfo_SetFileName 5 -#define FileInfo_GetFileName 6 -#define FileInfo_SetFileSize 7 -#define FileInfo_GetFileSize 8 -#define FileInfo_SetDate 9 -#define FileInfo_GetDate 10 -#define FileInfo_SetTitle 11 -#define FileInfo_GetTitle 12 - -/* FileInfo Toolbox Events ***********************************************************************/ - -#define FileInfo_AboutToBeShown FileInfo_SWIChunkBase -#define FileInfo_DialogueCompleted (FileInfo_SWIChunkBase + 1) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - union { - - struct { - int x,y; - } coords; - - WindowShowObjectBlock full; - - } info; - -} FileInfo_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} FileInfo_DialogueCompleted_Event; - - -/* FileInfo Errors *******************************************************************************/ - -#define FileInfo_ErrorBase (Program_Error | 0x0080B200) - -#define FileInfo_AllocFailed (FileInfo_ErrorBase+0x01) -#define FileInfo_ShortBuffer (FileInfo_ErrorBase+0x02) -#define FileInfo_NoSuchTask (FileInfo_ErrorBase+0x11) -#define FileInfo_NoSuchMethod (FileInfo_ErrorBase+0x12) -#define FileInfo_NoSuchMiscOpMethod (FileInfo_ErrorBase+0x13) -#define FileInfo_TasksActive (FileInfo_ErrorBase+0x00) - -#endif diff --git a/objects/h/fontdbox b/objects/h/fontdbox deleted file mode 100644 index 9cfd8fcd43113ef812b7a75b190cb8d5b6ba4886..0000000000000000000000000000000000000000 --- a/objects/h/fontdbox +++ /dev/null @@ -1,147 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: fontdbox.h - * Purpose: FontDbox Objects - * Author: Timothy G Roddis - * History: 2-Mar-94: TGR: created - * - */ - -#ifndef __FontDbox_h -#define __FontDbox_h - -#ifndef __os_h -#include "os.h" -#endif - -#ifndef __window_h -#include "objects.window.h" -#endif - -#ifndef __wimp_h -#include "twimp.h" -#endif - -/* FontDbox SWI calls *******************************************************************************/ - -#define FontDbox_SWIChunkBase 0x82a00 -#define FontDbox_ObjectClass FontDbox_SWIChunkBase -#define FontDbox_ClassSWI (FontDbox_SWIChunkBase + 0) -#define FontDbox_PostFilter (FontDbox_SWIChunkBase + 1) -#define FontDbox_PreFilter (FontDbox_SWIChunkBase + 2) - -/* FontDbox SWI flags ***************************************************************************/ - -#define FontDbox_SetSize_Height 1 -#define FontDbox_SetSize_Aspect 2 - -/* FontDbox Templates *******************************************************************************/ - -/* flags */ - -#define FontDbox_GenerateShowEvent 0x00000001 -#define FontDbox_GenerateHideEvent 0x00000002 -#define FontDbox_IncludeSystemFont 0x00000004 - -/* templates */ - -typedef struct -{ - int flags; - char *title; - int max_title; - char *initial_font; - int initial_height; - int initial_aspect; - char *try_string; - char *window; - -} FontDboxTemplate; - -/* component IDs */ - -#define FontDbox_ComponentIDBase (FontDbox_SWIChunkBase<<4) - -#define FontDbox_ActionButton_Apply (FontDbox_ComponentIDBase) -#define FontDbox_ActionButton_Cancel (FontDbox_ComponentIDBase + 1) -#define FontDbox_ActionButton_Try (FontDbox_ComponentIDBase + 2) -#define FontDbox_WritableField_TryString (FontDbox_ComponentIDBase + 3) -#define FontDbox_NumberRange_AspectRatio (FontDbox_ComponentIDBase + 4) -#define FontDbox_NumberRange_Height (FontDbox_ComponentIDBase + 5) -#define FontDbox_ActionButton_StandardSize(A) (FontDbox_ComponentIDBase + (A+6)) /* For 0 <= A <= 9 */ -#define FontDbox_StringSet_Style (FontDbox_ComponentIDBase + 16) -#define FontDbox_StringSet_Weight (FontDbox_ComponentIDBase + 17) -#define FontDbox_StringSet_Font (FontDbox_ComponentIDBase + 18) - - -/* FontDbox Methods *********************************************************************************/ - -#define FontDbox_GetWindowID 0 -#define FontDbox_SetFont 1 -#define FontDbox_GetFont 2 -#define FontDbox_SetSize 3 -#define FontDbox_GetSize 4 -#define FontDbox_SetTryString 5 -#define FontDbox_GetTryString 6 -#define FontDbox_SetTitle 7 -#define FontDbox_GetTitle 8 - -/* FontDbox Toolbox Events **************************************************************************/ - -#define FontDbox_AboutToBeShown FontDbox_SWIChunkBase -#define FontDbox_DialogueCompleted (FontDbox_SWIChunkBase + 1) -#define FontDbox_ApplyFont (FontDbox_SWIChunkBase + 2) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - union { - struct { - int x,y; - } coords; - WindowShowObjectBlock full; - - } info; - -} FontDbox_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} FontDbox_DialogueCompleted_Event; - -typedef struct { - ToolboxEventHeader hdr; - unsigned int height; - unsigned int aspect; - char font[208]; -} FontDbox_ApplyFont_Event; - - -/* FontDbox Errors **********************************************************************************/ - -#define FontDbox_ErrorBase (Program_Error | 0x0080AF00) - -#define FontDbox_AllocFailed (FontDbox_ErrorBase+0x01) -#define FontDbox_ShortBuffer (FontDbox_ErrorBase+0x02) -#define FontDbox_NoSuchTask (FontDbox_ErrorBase+0x11) -#define FontDbox_NoSuchMethod (FontDbox_ErrorBase+0x12) -#define FontDbox_NoSuchMiscOpMethod (FontDbox_ErrorBase+0x13) -#define FontDbox_NoSuchFont (FontDbox_ErrorBase+0x14) -#define FontDbox_NoFonts (FontDbox_ErrorBase+0x21) -#define FontDbox_NotPersistent (FontDbox_ErrorBase+0x22) -#define FontDbox_OutOfMessageSpace (FontDbox_ErrorBase+0x31) -#define FontDbox_TasksActive (FontDbox_ErrorBase+0x00) - -#endif diff --git a/objects/h/fontmenu b/objects/h/fontmenu deleted file mode 100644 index 340b821faf2a089bcf25f31cfb7a75653a9cf395..0000000000000000000000000000000000000000 --- a/objects/h/fontmenu +++ /dev/null @@ -1,88 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: fontmenu.h - * Purpose: Font Menu Objects - * Author: Timothy G Roddis - * History: 10-Jan-94: TGR: created - * - */ - -#ifndef __fontmenu_h -#define __fontmenu_h - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - - -/* Font Menu Templates **************************************************************************/ - -#define FontMenu_GenerateShowEvent 0x00000001 -#define FontMenu_GenerateHideEvent 0x00000002 -#define FontMenu_SystemFont 0x00000004 - -typedef struct -{ - int flags; - char *ticked_font; -} FontMenuTemplate; - -/* Font Menu SWI calls **************************************************************************/ - -#define FontMenu_SWIChunkBase 0x82a40 -#define FontMenu_ObjectClass FontMenu_SWIChunkBase -#define FontMenu_ClassSWI (FontMenu_SWIChunkBase + 0) -#define FontMenu_PostFilter (FontMenu_SWIChunkBase + 1) -#define FontMenu_PreFilter (FontMenu_SWIChunkBase + 2) - -/* Font Menu Methods ****************************************************************************/ - -#define FontMenu_SetFont 0 -#define FontMenu_GetFont 1 - -/* Font Menu Toolbox Events *********************************************************************/ - -#define FontMenu_AboutToBeShown FontMenu_SWIChunkBase -#define FontMenu_HasBeenHidden (FontMenu_SWIChunkBase + 1) -#define FontMenu_Selection (FontMenu_SWIChunkBase + 2) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - int x,y; -} FontMenu_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} FontMenu_HasBeenHidden_Event; - -typedef struct { - ToolboxEventHeader hdr; - char font_id[216]; -} FontMenu_Selection_Event; - - -/* Font Menu Errors ******************************************************************************/ - -#define FontMenu_ErrorBase (Program_Error | 0x0080B000) - -#define FontMenu_AllocFailed (FontMenu_ErrorBase+0x01) -#define FontMenu_ShortBuffer (FontMenu_ErrorBase+0x02) -#define FontMenu_NoSuchTask (FontMenu_ErrorBase+0x11) -#define FontMenu_NoSuchMethod (FontMenu_ErrorBase+0x12) -#define FontMenu_NoSuchMiscOpMethod (FontMenu_ErrorBase+0x13) -#define FontMenu_TasksActive (FontMenu_ErrorBase+0x00) - -#endif diff --git a/objects/h/generic b/objects/h/generic deleted file mode 100644 index 23e005c8d22b5d1d85fcc1b33bde80d0b29657ec..0000000000000000000000000000000000000000 --- a/objects/h/generic +++ /dev/null @@ -1,63 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: generic.h - * Purpose: client-visible information for the generic Object class - * Author: Ian Johnson - * History: 8-Dec-93: IDJ: created - * - */ - - -#ifndef __generic_h -#define __generic_h - - -/* ----------------------------------------- Generic templates ----------------------------------------- */ - -/* flags */ - - -/* template definition */ - -typedef struct -{ - int flags; -} GenericTemplate; - - - -/* ------------------------------ Generic SWIs and Toolbox_MiscOp reason codes ------------------------- */ - -#define Generic_SWIChunkBase 0x82840 -#define Generic_ObjectClass Generic_SWIChunkBase -#define Generic_ClassSWI (Generic_SWIChunkBase + 0) -#define Generic_PostFilter (Generic_SWIChunkBase + 1) -#define Generic_PreFilter (Generic_SWIChunkBase + 2) - - -/* miscop reason codes */ - - -/* ----------------------------------------- Generic Toolbox Events ------------------------------------ */ - -/* event codes */ - - - -/* ----------------------------------------- Generic Error Numbers ------------------------------------- */ - - -#endif - diff --git a/objects/h/iconbar b/objects/h/iconbar deleted file mode 100644 index 00bfb4ba3f068c74fddd419193194d959973d0de..0000000000000000000000000000000000000000 --- a/objects/h/iconbar +++ /dev/null @@ -1,160 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: iconbar.h - * Purpose: Iconbar Icon Objects - * Author: Ian Johnson - * History: 8-Dec-93: IDJ: created - * - */ - - -#ifndef __iconbar_h -#define __iconbar_h - - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - - -/* ----------------------------------------- Iconbar templates ----------------------------------------- */ - -/* flags */ - -#define Iconbar_GenerateSelectAboutToBeShown 0x00000001 -#define Iconbar_GenerateAdjustAboutToBeShown 0x00000002 -#define Iconbar_ShowSelectTransient 0x00000004 -#define Iconbar_ShowAdjustTransient 0x00000008 -#define Iconbar_HasText 0x00000010 /* resreved bit - not settable by client */ -#define Iconbar_GenerateSelectClickedEvent 0x00000020 -#define Iconbar_GenerateAdjustClickedEvent 0x00000040 -#define Iconbar_ShowSelectCentred 0x00000080 -#define Iconbar_ShowAdjustCentred 0x00000100 -#define Iconbar_ShowSelectAtPointer 0x00000200 -#define Iconbar_ShowAdjustAtPointer 0x00000400 - -#define Iconbar_ValidFlags 0x000007ef - - -/* template definition */ - -typedef struct -{ - int flags; - int position; - int priority; - char *sprite_name; - int max_sprite; - char *text; - int max_text_len; - char *menu; - int select_event; - int adjust_event; - char *select_show; - char *adjust_show; - char *help_message; - int max_help; -} IconbarTemplate; - - - -/* ------------------------------ Iconbar SWIs and Toolbox_MiscOp reason codes ------------------------- */ - -#define Iconbar_SWIChunkBase 0x82900 -#define Iconbar_ObjectClass Iconbar_SWIChunkBase -#define Iconbar_ClassSWI (Iconbar_SWIChunkBase + 0) -#define Iconbar_PostFilter (Iconbar_SWIChunkBase + 1) -#define Iconbar_PreFilter (Iconbar_SWIChunkBase + 2) - - -/* miscop reason codes */ - -#define Iconbar_GetIconHandle 0 -#define Iconbar_SetMenu 1 -#define Iconbar_GetMenu 2 -#define Iconbar_SetEvent 3 -#define Iconbar_GetEvent 4 -#define Iconbar_SetShow 5 -#define Iconbar_GetShow 6 -#define Iconbar_SetHelpMessage 7 -#define Iconbar_GetHelpMessage 8 -#define Iconbar_SetText 9 -#define Iconbar_GetText 10 -#define Iconbar_SetSprite 11 -#define Iconbar_GetSprite 12 - - -/* flags for Iconbar_SetEvent */ - -#define Iconbar_SetEvent_Select 0x00000001 -#define Iconbar_SetEvent_Adjust 0x00000002 - -/* flags for Iconbar_SetShow */ - -#define Iconbar_SetShow_Select 0x00000001 -#define Iconbar_SetShow_Adjust 0x00000002 - - -/* ----------------------------------------- Iconbar Toolbox Events ------------------------------------ */ - -/* event codes */ - -#define Iconbar_Clicked (Iconbar_SWIChunkBase + 0) -#define Iconbar_SelectAboutToBeShown (Iconbar_SWIChunkBase + 1) -#define Iconbar_AdjustAboutToBeShown (Iconbar_SWIChunkBase + 2) - - - -/* clicked event block */ - -#define Iconbar_Clicked_Adjust 0x00000001 -#define Iconbar_Clicked_Select 0x00000004 - - -typedef struct -{ - ToolboxEventHeader hdr; -} IconbarClickedEvent; - - - -/* object about to be shown on SELECT/ADJUST click */ - -typedef struct -{ - ToolboxEventHeader hdr; - ObjectID id; -} IconbarAboutToBeShownEvent; - - - - -/* ----------------------------------------- Iconbar Error Numbers ------------------------------------- */ - -#define Iconbar_ErrorBase (Program_Error | 0x80ab00) - -#define Iconbar_AllocFailed (Iconbar_ErrorBase+0x01) -#define Iconbar_ShortBuffer (Iconbar_ErrorBase+0x02) -#define Iconbar_BadObjectVersion (Iconbar_ErrorBase+0x03) -#define Iconbar_BadFlags (Iconbar_ErrorBase+0x04) -#define Iconbar_NoSuchTask (Iconbar_ErrorBase+0x11) -#define Iconbar_NoSuchMethod (Iconbar_ErrorBase+0x12) -#define Iconbar_NoSuchMiscOpMethod (Iconbar_ErrorBase+0x13) -#define Iconbar_WrongShowType (Iconbar_ErrorBase+0x14) -#define Iconbar_NoText (Iconbar_ErrorBase+0x20) -#define Iconbar_TasksActive (Iconbar_ErrorBase+0x21) - -#endif - diff --git a/objects/h/menu b/objects/h/menu deleted file mode 100644 index f22f6d9ef8c1451399906cf873a7e850e9bb5d33..0000000000000000000000000000000000000000 --- a/objects/h/menu +++ /dev/null @@ -1,177 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: menu.h - * Purpose: Menu Objects - * Author: Timothy G Roddis - * History: 8-Dec-93: TGR: created - * - */ - -#ifndef __menu_h -#define __menu_h - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - - -/* Menu Templates *******************************************************************************/ - -/* flags */ - -#define Menu_GenerateShowEvent 0x00000001 -#define Menu_GenerateHideEvent 0x00000002 - -#define Menu_Entry_Ticked 0x00000001 -#define Menu_Entry_DottedLine 0x00000002 -#define Menu_Entry_Faded 0x00000100 -#define Menu_Entry_IsSprite 0x00000200 -#define Menu_Entry_SubMenu 0x00000400 -#define Menu_Entry_GenerateSubMenuEvent 0x00000800 -#define Menu_Entry_ClickShowTransient 0x00001000 -#define Menu_Entry_ClickShowCentred 0x00002000 -#define Menu_Entry_ClickShowAtPointer 0x00004000 - -/* templates */ - -typedef struct -{ - int flags; - char *title; - int max_title; - char *help_message; - int max_help; - int num_entries; -} MenuTemplateHeader101; - -typedef struct -{ - int flags; - char *title; - int max_title; - char *help_message; - int max_help; - int show_event; - int hide_event; - int num_entries; -} MenuTemplateHeader102, MenuTemplateHeader; /* move name 'MenuTemplateHeader' to current version's struct upon update */ - - - -typedef struct -{ - int flags; - ComponentID component_id; - char *text; - int max_text; - char *click_show; - char *submenu_show; - int submenu_event; - int click_event; - char *help_message; - int max_entry_help; -} MenuTemplateEntry; - -typedef struct { - MenuTemplateHeader hdr; - /* array of entries follows in memory (as defined below) */ -} MenuTemplate; - -/* access to templates */ - -/* #define menu_template_entry(m, i) (((MenuTemplateEntry*)(&m->hdr + 1)) + i)*/ - -/* Menu SWI calls *******************************************************************************/ - -#define Menu_SWIChunkBase 0x828c0 -#define Menu_ObjectClass Menu_SWIChunkBase -#define Menu_ClassSWI (Menu_SWIChunkBase + 0) -#define Menu_PostFilter (Menu_SWIChunkBase + 1) -#define Menu_PreFilter (Menu_SWIChunkBase + 2) -#define Menu_UpdateTree (Menu_SWIChunkBase + 3) - -/* Menu Methods *********************************************************************************/ - -#define Menu_SetTick 0 -#define Menu_GetTick 1 -#define Menu_SetFade 2 -#define Menu_GetFade 3 -#define Menu_SetEntryText 4 -#define Menu_GetEntryText 5 -#define Menu_SetEntrySprite 6 -#define Menu_GetEntrySprite 7 -#define Menu_SetSubMenuShow 8 -#define Menu_GetSubMenuShow 9 -#define Menu_SetSubMenuEvent 10 -#define Menu_GetSubMenuEvent 11 -#define Menu_SetClickShow 12 -#define Menu_GetClickShow 13 -#define Menu_SetClickEvent 14 -#define Menu_GetClickEvent 15 -#define Menu_SetHelpMessage 16 -#define Menu_GetHelpMessage 17 -#define Menu_SetEntryHelpMessage 18 -#define Menu_GetEntryHelpMessage 19 -#define Menu_AddEntry 20 -#define Menu_RemoveEntry 21 -#define Menu_GetHeight 22 -#define Menu_GetWidth 23 -#define Menu_SetTitle 24 -#define Menu_GetTitle 25 - -/* Menu Toolbox Events **************************************************************************/ - -#define Menu_AboutToBeShown Menu_SWIChunkBase -#define Menu_HasBeenHidden (Menu_SWIChunkBase + 1) -#define Menu_SubMenu (Menu_SWIChunkBase + 2) -#define Menu_Selection (Menu_SWIChunkBase + 3) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - int x,y; -} Menu_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} Menu_HasBeenHidden_Event; - -typedef struct { - ToolboxEventHeader hdr; - int x,y; -} Menu_SubMenu_Event; - -typedef struct { - ToolboxEventHeader hdr; -} Menu_Selection_Event; - -/* Menu Errors **********************************************************************************/ - -#define Menu_ErrorBase (Program_Error | 0x0080AA00) - -#define Menu_AllocFailed (Menu_ErrorBase+0x01) -#define Menu_ShortBuffer (Menu_ErrorBase+0x02) -#define Menu_NoSuchTask (Menu_ErrorBase+0x11) -#define Menu_NoSuchMethod (Menu_ErrorBase+0x12) -#define Menu_NoSuchMiscOpMethod (Menu_ErrorBase+0x13) -#define Menu_NoSuchComponent (Menu_ErrorBase+0x14) -#define Menu_SpriteNotText (Menu_ErrorBase+0x21) -#define Menu_TextNotSprite (Menu_ErrorBase+0x22) -#define Menu_NoTopMenu (Menu_ErrorBase+0x31) -#define Menu_UnknownSubMenu (Menu_ErrorBase+0x32) -#define Menu_NoSpriteName (Menu_ErrorBase+0x33) -#define Menu_TasksActive (Menu_ErrorBase+0x00) - -#endif diff --git a/objects/h/printdbox b/objects/h/printdbox deleted file mode 100644 index 7994e3ced2b9037ad51d598da4a3cedad249e23b..0000000000000000000000000000000000000000 --- a/objects/h/printdbox +++ /dev/null @@ -1,193 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: printdbox.h - * Purpose: PrintDbox Objects - * Author: Timothy G Roddis - * History: 25-May-94: TGR: created - * - */ - -#ifndef __PrintDbox_h -#define __PrintDbox_h - -#ifndef __os_h -#include "os.h" -#endif - -#ifndef __window_h -#include "objects.window.h" -#endif - -#ifndef __wimp_h -#include "twimp.h" -#endif - -/* PrintDbox SWI calls ****************************************************************************/ - -#define PrintDbox_SWIChunkBase 0x82b00 -#define PrintDbox_ObjectClass PrintDbox_SWIChunkBase -#define PrintDbox_ClassSWI (PrintDbox_SWIChunkBase + 0) -#define PrintDbox_PostFilter (PrintDbox_SWIChunkBase + 1) -#define PrintDbox_PreFilter (PrintDbox_SWIChunkBase + 2) - -/* PrintDbox Templates ****************************************************************************/ - -/* flags */ - -#define PrintDbox_GenerateShowEvent 0x00000001 -#define PrintDbox_GenerateHideEvent 0x00000002 -#define PrintDbox_GenerateShowSetupEvent 0x00000004 -#define PrintDbox_IncludeAllFromTo 0x00000008 -#define PrintDbox_IncludeCopies 0x00000010 -#define PrintDbox_IncludeScale 0x00000020 -#define PrintDbox_IncludeOrientation 0x00000040 -#define PrintDbox_IncludeSave 0x00000080 -#define PrintDbox_IncludeSetUp 0x00000100 -#define PrintDbox_IncludeDraft 0x00000200 -#define PrintDbox_SelectFromTo 0x00000400 -#define PrintDbox_SelectSideways 0x00000800 -#define PrintDbox_SelectDraft 0x00001000 - -/* templates */ - -typedef struct -{ - int flags; - int from; - int to; - int copies; - int scale; - char *further_options; - char *window; - -} PrintDboxTemplate; - -/* display field component IDs */ - -#define PrintDbox_ComponentIDBase (PrintDbox_SWIChunkBase<<4) - - -#define PrintDbox_ActionButton_Print (PrintDbox_ComponentIDBase) -#define PrintDbox_ActionButton_Save (PrintDbox_ComponentIDBase + 1) -#define PrintDbox_ActionButton_Cancel (PrintDbox_ComponentIDBase + 2) -#define PrintDbox_RadioButton_FromTo (PrintDbox_ComponentIDBase + 3) -#define PrintDbox_RadioButton_All (PrintDbox_ComponentIDBase + 4) -#define PrintDbox_WritableField_From (PrintDbox_ComponentIDBase + 5) -#define PrintDbox_WritableField_To (PrintDbox_ComponentIDBase + 6) -#define PrintDbox_NumberRange_Copies (PrintDbox_ComponentIDBase + 7) -#define PrintDbox_NumberRange_Scale (PrintDbox_ComponentIDBase + 8) -#define PrintDbox_RadioButton_Upright (PrintDbox_ComponentIDBase + 9) -#define PrintDbox_RadioButton_Sideways (PrintDbox_ComponentIDBase + 10) -#define PrintDbox_OptionButton_Draft (PrintDbox_ComponentIDBase + 11) -#define PrintDbox_ActionButton_SetUp (PrintDbox_ComponentIDBase + 12) -#define PrintDbox_Label_To (PrintDbox_ComponentIDBase + 13) -#define PrintDbox_Label_Copies (PrintDbox_ComponentIDBase + 14) -#define PrintDbox_Label_Scale (PrintDbox_ComponentIDBase + 15) -#define PrintDbox_Label_Percent (PrintDbox_ComponentIDBase + 16) - -/* PrintDbox Methods ******************************************************************************/ - -#define PrintDbox_GetWindowID 0 -#define PrintDbox_SetPageRange 1 -#define PrintDbox_GetPageRange 2 -#define PrintDbox_SetCopies 3 -#define PrintDbox_GetCopies 4 -#define PrintDbox_SetScale 5 -#define PrintDbox_GetScale 6 -#define PrintDbox_SetOrientation 7 -#define PrintDbox_GetOrientation 8 -#define PrintDbox_GetTitle 9 -#define PrintDbox_SetDraft 10 -#define PrintDbox_GetDraft 11 - -/* PrintDbox Toolbox Events ***********************************************************************/ - -#define PrintDbox_AboutToBeShown PrintDbox_SWIChunkBase -#define PrintDbox_DialogueCompleted (PrintDbox_SWIChunkBase + 1) -#define PrintDbox_SetUpAboutToBeShown (PrintDbox_SWIChunkBase + 2) -#define PrintDbox_Save (PrintDbox_SWIChunkBase + 3) -#define PrintDbox_SetUp (PrintDbox_SWIChunkBase + 4) -#define PrintDbox_Print (PrintDbox_SWIChunkBase + 5) - -#define PrintDboxEvents_PrintSave_Sideways 0x00000001 -#define PrintDboxEvents_PrintSave_Draft 0x00000002 - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - union { - - struct { - int x,y; - } coords; - - WindowShowObjectBlock full; - - } info; - -} PrintDbox_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} PrintDbox_DialogueCompleted_Event; - -typedef struct { - ToolboxEventHeader hdr; - ObjectID object_id; - int show_type; - union { - - struct { - int x,y; - } coords; - - WindowShowObjectBlock full; - - } info; - -} PrintDbox_SetUpAboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; - int start_page; - int finish_page; - int copies; - int scale_factor; -} PrintDbox_Save_Event; - -typedef struct { - ToolboxEventHeader hdr; -} PrintDbox_SetUp_Event; - -typedef struct { - ToolboxEventHeader hdr; - int start_page; - int finish_page; - int copies; - int scale_factor; -} PrintDbox_Print_Event; - -/* PrintDbox Errors *******************************************************************************/ - -#define PrintDbox_ErrorBase (Program_Error | 0x0080B300) - -#define PrintDbox_AllocFailed (PrintDbox_ErrorBase+0x01) -#define PrintDbox_ShortBuffer (PrintDbox_ErrorBase+0x02) -#define PrintDbox_NoSuchTask (PrintDbox_ErrorBase+0x11) -#define PrintDbox_NoSuchMethod (PrintDbox_ErrorBase+0x12) -#define PrintDbox_NoSuchMiscOpMethod (PrintDbox_ErrorBase+0x13) -#define PrintDbox_TasksActive (PrintDbox_ErrorBase+0x00) - -#endif diff --git a/objects/h/proginfo b/objects/h/proginfo deleted file mode 100644 index e014252c4546184246bca6f69d8d0814d00f71c0..0000000000000000000000000000000000000000 --- a/objects/h/proginfo +++ /dev/null @@ -1,143 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: proginfo.h - * Purpose: ProgInfo Objects - * Author: Timothy G Roddis - * History: 14-Feb-94: TGR: created - * 12-Dec-97: SNB: Altered template and added new URI/event methods. - * - */ - -#ifndef __ProgInfo_h -#define __ProgInfo_h - -#ifndef __os_h -#include "os.h" -#endif - -#ifndef __window_h -#include "objects.window.h" -#endif - -#ifndef __wimp_h -#include "twimp.h" -#endif - -/* ProgInfo SWI calls ****************************************************************************/ - -#define ProgInfo_SWIChunkBase 0x82b40 -#define ProgInfo_ObjectClass ProgInfo_SWIChunkBase -#define ProgInfo_ClassSWI (ProgInfo_SWIChunkBase + 0) -#define ProgInfo_PostFilter (ProgInfo_SWIChunkBase + 1) -#define ProgInfo_PreFilter (ProgInfo_SWIChunkBase + 2) - -/* ProgInfo Templates ****************************************************************************/ - -/* flags */ - -#define ProgInfo_GenerateShowEvent 0x00000001 -#define ProgInfo_GenerateHideEvent 0x00000002 -#define ProgInfo_IncludeLicenceType 0x00000004 -#define ProgInfo_IncludeWebPageButton 0x00000008 -#define ProgInfo_GenerateLaunchEvent 0x00000010 - -/* templates */ - -typedef struct -{ - int flags; - char *title; - int max_title; - char *purpose; - char *author; - int licence_type; - char *version; - char *window; - char *uri; - int event; -} ProgInfoTemplate; - -/* display field component IDs */ - -#define ProgInfo_ComponentIDBase (ProgInfo_SWIChunkBase<<4) - -#define ProgInfo_DisplayField_Name (ProgInfo_ComponentIDBase) -#define ProgInfo_DisplayField_Purpose (ProgInfo_ComponentIDBase + 1) -#define ProgInfo_DisplayField_Author (ProgInfo_ComponentIDBase + 2) -#define ProgInfo_DisplayField_LicenceType (ProgInfo_ComponentIDBase + 3) -#define ProgInfo_DisplayField_Version (ProgInfo_ComponentIDBase + 4) -#define ProgInfo_Label_Name (ProgInfo_ComponentIDBase + 5) -#define ProgInfo_Label_Purpose (ProgInfo_ComponentIDBase + 6) -#define ProgInfo_Label_Author (ProgInfo_ComponentIDBase + 7) -#define ProgInfo_Label_LicenceType (ProgInfo_ComponentIDBase + 8) -#define ProgInfo_Label_Version (ProgInfo_ComponentIDBase + 9) -#define ProgInfo_ActionButton_WebPage (ProgInfo_ComponentIDBase + 10) - -/* ProgInfo Methods ******************************************************************************/ - -#define ProgInfo_GetWindowID 0 -#define ProgInfo_SetVersion 1 -#define ProgInfo_GetVersion 2 -#define ProgInfo_SetLicenceType 3 -#define ProgInfo_GetLicenceType 4 -#define ProgInfo_SetTitle 5 -#define ProgInfo_GetTitle 6 -#define ProgInfo_SetUri 7 -#define ProgInfo_GetUri 8 -#define ProgInfo_SetWebEvent 9 -#define ProgInfo_GetWebEvent 10 - -/* ProgInfo Toolbox Events ***********************************************************************/ - -#define ProgInfo_AboutToBeShown ProgInfo_SWIChunkBase -#define ProgInfo_DialogueCompleted (ProgInfo_SWIChunkBase + 1) -#define ProgInfo_LaunchWebPage (ProgInfo_SWIChunkBase + 2) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - union { - - struct { - int x,y; - } coords; - - WindowShowObjectBlock full; - - } info; - -} ProgInfo_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} ProgInfo_DialogueCompleted_Event; - -typedef struct { - ToolboxEventHeader hdr; -} ProgInfo_LaunchWebPage_Event; - - -/* ProgInfo Errors *******************************************************************************/ - -#define ProgInfo_ErrorBase (Program_Error | 0x0080B400) - -#define ProgInfo_AllocFailed (ProgInfo_ErrorBase+0x01) -#define ProgInfo_ShortBuffer (ProgInfo_ErrorBase+0x02) -#define ProgInfo_NoSuchTask (ProgInfo_ErrorBase+0x11) -#define ProgInfo_NoSuchMethod (ProgInfo_ErrorBase+0x12) -#define ProgInfo_NoSuchMiscOpMethod (ProgInfo_ErrorBase+0x13) -#define ProgInfo_TasksActive (ProgInfo_ErrorBase+0x00) - -#endif diff --git a/objects/h/saveas b/objects/h/saveas deleted file mode 100644 index 539b5fd158a1c7105c6d06f8945eab82fe56da71..0000000000000000000000000000000000000000 --- a/objects/h/saveas +++ /dev/null @@ -1,157 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: saveas.h - * Purpose: SaveAs Objects - * Author: Timothy G Roddis - * History: 16-Feb-94: TGR: created - * - */ - -#ifndef __SaveAs_h -#define __SaveAs_h - -#ifndef __os_h -#include "os.h" -#endif - -#ifndef __window_h -#include "objects.window.h" -#endif - -#ifndef __wimp_h -#include "twimp.h" -#endif - -/* SaveAs SWI calls *******************************************************************************/ - -#define SaveAs_SWIChunkBase 0x82bc0 -#define SaveAs_ObjectClass SaveAs_SWIChunkBase -#define SaveAs_ClassSWI (SaveAs_SWIChunkBase + 0) -#define SaveAs_PostFilter (SaveAs_SWIChunkBase + 1) -#define SaveAs_PreFilter (SaveAs_SWIChunkBase + 2) - -/* SaveAs Templates *******************************************************************************/ - -/* flags */ - -#define SaveAs_GenerateShowEvent 0x00000001 -#define SaveAs_GenerateHideEvent 0x00000002 -#define SaveAs_ExcludeSelectionButton 0x00000004 -#define SaveAs_AutomaticRAMTransfer 0x00000008 -#define SaveAs_ClientSupportsRAMTransfer 0x00000010 - -/* templates */ - -typedef struct -{ - int flags; - char *filename; - int filetype; - char *title; - int max_title; - char *window; - -} SaveAsTemplate; - -/* component IDs */ - -#define SaveAs_ComponentIDBase (SaveAs_SWIChunkBase<<4) - -#define SaveAs_Draggable_FileIcon (SaveAs_ComponentIDBase) -#define SaveAs_WritableField_FileName (SaveAs_ComponentIDBase + 1) -#define SaveAs_ActionButton_Cancel (SaveAs_ComponentIDBase + 2) -#define SaveAs_ActionButton_Save (SaveAs_ComponentIDBase + 3) -#define SaveAs_OptionButton_Selection (SaveAs_ComponentIDBase + 4) - -/* SaveAs Methods *********************************************************************************/ - -#define SaveAs_GetWindowID 0 -#define SaveAs_SetTitle 1 -#define SaveAs_GetTitle 2 -#define SaveAs_SetFileName 3 -#define SaveAs_GetFileName 4 -#define SaveAs_SetFileType 5 -#define SaveAs_GetFileType 6 -#define SaveAs_SetFileSize 7 -#define SaveAs_GetFileSize 8 -#define SaveAs_SelectionAvailable 9 -#define SaveAs_SetDataAddress 10 -#define SaveAs_BufferFilled 11 -#define SaveAs_FileSaveCompleted 12 - -/* SaveAs Toolbox Events **************************************************************************/ - -#define SaveAs_AboutToBeShown SaveAs_SWIChunkBase -#define SaveAs_DialogueCompleted (SaveAs_SWIChunkBase + 1) -#define SaveAs_SaveToFile (SaveAs_SWIChunkBase + 2) -#define SaveAs_FillBuffer (SaveAs_SWIChunkBase + 3) -#define SaveAs_SaveCompleted (SaveAs_SWIChunkBase + 4) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - union { - struct { - int x,y; - } coords; - WindowShowObjectBlock full; - - } info; - -} SaveAs_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} SaveAs_DialogueCompleted_Event; - -typedef struct { - ToolboxEventHeader hdr; - char filename [212]; -} SaveAs_SaveToFile_Event; - -typedef struct { - ToolboxEventHeader hdr; - int size; - char *address; - int no_bytes; -} SaveAs_FillBuffer_Event; - -typedef struct { - ToolboxEventHeader hdr; - int wimp_message_no; - char filename [208]; -} SaveAs_SaveCompleted_Event; - -/* SaveAs Errors **********************************************************************************/ - - -#define SaveAs_ErrorBase 0x0080B600 -#define SaveAs_Program_ErrorBase (Program_Error | SaveAs_ErrorBase) - -#define SaveAs_TasksActive (SaveAs_Program_ErrorBase+0x00) -#define SaveAs_AllocFailed (SaveAs_Program_ErrorBase+0x01) -#define SaveAs_ShortBuffer (SaveAs_Program_ErrorBase+0x02) -#define SaveAs_FileNameTooLong (SaveAs_Program_ErrorBase+0x03) -#define SaveAs_NoSuchTask (SaveAs_Program_ErrorBase+0x11) -#define SaveAs_NoSuchMethod (SaveAs_Program_ErrorBase+0x12) -#define SaveAs_NoSuchMiscOpMethod (SaveAs_Program_ErrorBase+0x13) -#define SaveAs_NotType1 (SaveAs_Program_ErrorBase+0x21) -#define SaveAs_NotType3 (SaveAs_Program_ErrorBase+0x23) -#define SaveAs_BufferExceeded (SaveAs_Program_ErrorBase+0x31) -#define SaveAs_DataAddressUnset (SaveAs_Program_ErrorBase+0x32) -#define SaveAs_NotFullPath (SaveAs_ErrorBase+0x33) -#define SaveAs_SaveFailed (SaveAs_ErrorBase+0x34) - -#endif diff --git a/objects/h/scale b/objects/h/scale deleted file mode 100644 index c7ff2df3a07353c5f74d7957c0d6e1e00596333e..0000000000000000000000000000000000000000 --- a/objects/h/scale +++ /dev/null @@ -1,128 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: scale.h - * Purpose: Scale Objects - * Author: Timothy G Roddis - * History: 15-Feb-94: TGR: created - * - */ - -#ifndef __Scale_h -#define __Scale_h - -#ifndef __os_h -#include "os.h" -#endif - -#ifndef __window_h -#include "objects.window.h" -#endif - -#ifndef __wimp_h -#include "twimp.h" -#endif - -/* Scale SWI calls *******************************************************************************/ - -#define Scale_SWIChunkBase 0x82c00 -#define Scale_ObjectClass Scale_SWIChunkBase -#define Scale_ClassSWI (Scale_SWIChunkBase + 0) -#define Scale_PostFilter (Scale_SWIChunkBase + 1) -#define Scale_PreFilter (Scale_SWIChunkBase + 2) - -/* Scale Templates *******************************************************************************/ - -/* flags */ - -#define Scale_GenerateShowEvent 0x00000001 -#define Scale_GenerateHideEvent 0x00000002 -#define Scale_IncludeScaleToFit 0x00000004 - -/* templates */ - -typedef struct -{ - int flags; - int min_value; - int max_value; - int step_size; - char *title; - int max_title; - char *window; - int std_value[4]; - -} ScaleTemplate; - -/* component IDs */ - -#define Scale_ComponentIDBase (Scale_SWIChunkBase<<4) - -#define Scale_NumberRange_Scale (Scale_ComponentIDBase + 0) -#define Scale_ActionButton_StdValue(A) (Scale_ComponentIDBase + (A+1)) /* Valid for 1 <= A <= 3 */ -#define Scale_ActionButton_Cancel (Scale_ComponentIDBase + 5) -#define Scale_ActionButton_Scale (Scale_ComponentIDBase + 6) -#define Scale_ActionButton_ScaleToFit (Scale_ComponentIDBase + 9) /* why this isn't 7 as I originally had it, I don't know */ - -/* Scale Methods *********************************************************************************/ - -#define Scale_GetWindowID 0 -#define Scale_SetValue 1 -#define Scale_GetValue 2 -#define Scale_SetBounds 3 -#define Scale_GetBounds 4 -#define Scale_SetTitle 5 -#define Scale_GetTitle 6 - -/* Scale Toolbox Events **************************************************************************/ - -#define Scale_AboutToBeShown Scale_SWIChunkBase -#define Scale_DialogueCompleted (Scale_SWIChunkBase + 1) -#define Scale_ApplyFactor (Scale_SWIChunkBase + 2) - -typedef struct { - ToolboxEventHeader hdr; - int show_type; - union { - struct { - int x,y; - } coords; - WindowShowObjectBlock full; - - } info; - -} Scale_AboutToBeShown_Event; - -typedef struct { - ToolboxEventHeader hdr; -} Scale_DialogueCompleted_Event; - -typedef struct { - ToolboxEventHeader hdr; - unsigned int factor; -} Scale_ApplyFactor_Event; - - -/* Scale Errors **********************************************************************************/ - -#define Scale_ErrorBase (Program_Error | 0x0080B700) - -#define Scale_AllocFailed (Scale_ErrorBase+0x01) -#define Scale_ShortBuffer (Scale_ErrorBase+0x02) -#define Scale_NoSuchTask (Scale_ErrorBase+0x11) -#define Scale_NoSuchMethod (Scale_ErrorBase+0x12) -#define Scale_NoSuchMiscOpMethod (Scale_ErrorBase+0x13) -#define Scale_TasksActive (Scale_ErrorBase+0x00) - -#endif diff --git a/objects/h/toolbox b/objects/h/toolbox deleted file mode 100644 index f76cd4f3f424f9a749d5ca3eaed1a80ce5041237..0000000000000000000000000000000000000000 --- a/objects/h/toolbox +++ /dev/null @@ -1,358 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: Toolbox.h - * Purpose: The RISC OS Toolbox module - * Author: Ian Johnson - * History: 8-Dec-93: IDJ: created - * 18-Apr-94: IDJ: removed options string from object hdr. - * 02-Feb-97: EPW: Added Toolbox_ShowObject_AtPointer - * 03-Feb-98: SNB: Added Service_ToolboxDying, Toolbox_BadMemoryReason, Toolbox_Memory_* - * - */ - - -#ifndef __toolbox_h -#define __toolbox_h - - -/* --------------------------------------- fundamental types ------------------------------------------ */ - -typedef int ObjectID; /* abstract Object ID (as used by client apps). */ -typedef int ComponentID; /* component ID within an Object (eg gadget in Window) */ -typedef int ObjectClass; /* the abstract class of an Object */ - -#define NULL_ObjectID (ObjectID)0 -#define NULL_ComponentID (ComponentID)-1 - - -typedef struct /* block filled in by Toolbox on Wimp Poll */ -{ - ObjectID ancestor_id; /* object's "ancestor" */ - ComponentID ancestor_component; - ObjectID parent_id; /* object's "parent" */ - ComponentID parent_component; - ObjectID self_id; /* object on which an event occurred */ - ComponentID self_component; -} IDBlock; - - - -typedef struct -{ - int data [4]; -} MessagesFD; /* a MessageTrans file descriptor */ - - - - - -/* ----------------------------------------- Object templates ----------------------------------------- */ - -#define MAX_OBJECT_NAME 12 - -/* flags */ - -#define Object_CreateOnLoad 0x00000001 -#define Object_ShowOnCreate 0x00000002 -#define Object_Shared 0x00000004 -#define Object_Ancestor 0x00000008 - -#define Object_ValidFlags 0x0000000f - -/* template definition */ - -typedef struct /* an object template header (after relocation) */ -{ - ObjectClass class_id; /* class of the object */ - int flags; /* generic flags (see above) */ - int version; /* object class module version */ - char name[MAX_OBJECT_NAME]; /* name given to template for use in Toolbox_ObjectCreate */ - int total_size; /* size of whole object (inc header) */ - void *body; /* object body (defined by object class module) */ - int body_size; /* sizeof *body */ -} ObjectTemplateHeader; - - -/* --------------------------------- Resource file format --------------------------------------------- */ - -#define ResourceFileVersion 101 - - -typedef int StringReference; /* offset into Object's string table */ -typedef int MessageReference; /* offset into Object's messages table */ - -/* relocations */ - -/* directives */ - -#define Relocate_StringReference 1 -#define Relocate_MsgReference 2 -#define Relocate_SpriteAreaReference 3 -#define Relocate_ObjectOffset 4 - -typedef struct -{ - int word_to_relocate; - int directive; - -} Relocation; - -typedef struct -{ - int num_relocations; - Relocation relocations[1]; -} RelocationTable; - - - - -/* Resource file header */ - -typedef struct -{ - int file_id; /* should be 'RESF' */ - int version_number; /* resource file version number * 100, eg 1.32 is 132 */ - int object_offset; /* byte offset of first template from start of file */ -} ResourceFileHeader; - - -/* Resource file Object template */ - -typedef struct -{ - int string_table_offset; - int message_table_offset; - int relocation_table_offset; - ObjectTemplateHeader hdr; - -} ResourceFileObjectTemplateHeader; - -/* ------------------------------------------- Toolbox SWIs ------------------------------------------- */ - -#define Toolbox_SWIChunkBase 0x44ec0 - -/* SWI Numbers */ - -#define Toolbox_CreateObject (Toolbox_SWIChunkBase + 0) -#define Toolbox_DeleteObject (Toolbox_SWIChunkBase + 1) -#define Toolbox_CopyObject (Toolbox_SWIChunkBase + 2) -#define Toolbox_ShowObject (Toolbox_SWIChunkBase + 3) -#define Toolbox_HideObject (Toolbox_SWIChunkBase + 4) -#define Toolbox_GetObjectState (Toolbox_SWIChunkBase + 5) -#define Toolbox_ObjectMiscOp (Toolbox_SWIChunkBase + 6) -#define Toolbox_SetClientHandle (Toolbox_SWIChunkBase + 7) -#define Toolbox_GetClientHandle (Toolbox_SWIChunkBase + 8) -#define Toolbox_GetObjectClass (Toolbox_SWIChunkBase + 9) -#define Toolbox_GetParent (Toolbox_SWIChunkBase + 10) -#define Toolbox_GetAncestor (Toolbox_SWIChunkBase + 11) -#define Toolbox_GetTemplateName (Toolbox_SWIChunkBase + 12) -#define Toolbox_RaiseToolboxEvent (Toolbox_SWIChunkBase + 13) -#define Toolbox_GetSysInfo (Toolbox_SWIChunkBase + 14) -#define Toolbox_Initialise (Toolbox_SWIChunkBase + 15) -#define Toolbox_LoadResources (Toolbox_SWIChunkBase + 16) - -#define Toolbox_Memory (Toolbox_SWIChunkBase + 57) -#define Toolbox_DeRegisterObjectModule (Toolbox_SWIChunkBase + 58) -#define Toolbox_TemplateLookUp (Toolbox_SWIChunkBase + 59) -#define Toolbox_GetInternalHandle (Toolbox_SWIChunkBase + 60) -#define Toolbox_RegisterObjectModule (Toolbox_SWIChunkBase + 61) -#define Toolbox_RegisterPreFilter (Toolbox_SWIChunkBase + 62) -#define Toolbox_RegisterPostFilter (Toolbox_SWIChunkBase + 63) - - -/* flags for Toolbox_GetSysInfo */ - -#define Toolbox_GetSysInfo_TaskName 0 -#define Toolbox_GetSysInfo_MessagesFD 1 -#define Toolbox_GetSysInfo_DirName 2 -#define Toolbox_GetSysInfo_TaskHandle 3 -#define Toolbox_GetSysInfo_SpriteArea 4 - - -/* flags for Toolbox_CreateObject */ - -#define Toolbox_CreateObject_InCore 0x00000001 - - -/* flags for Toolbox_DeleteObject */ - -#define Toolbox_DeleteObject_DontRecurse 0x00000001 - - -/* flags for Toolbox_CopyObject */ - -#define Toolbox_CopyObject_DontRecurse 0x00000001 - - -/* return values for Toolbox_GetObjectState */ - -#define Toolbox_GetObjectState_Showing 0x00000001 - - -/* flags for Toolbox_RegisterPreFilter */ - -#define Toolbox_RegisterPreFilter_Remove 0x00000001 - - -/* flags and types for Toolbox_RegisterPostFilter */ - -#define Toolbox_RegisterPostFilter_Remove 0x00000001 -#define Toolbox_RegisterPostFilter_WimpEvent 1 -#define Toolbox_RegisterPostFilter_WimpMessage 2 -#define Toolbox_RegisterPostFilter_ToolboxEvent 3 - -#define Toolbox_RegisterPostFilter_AnyClass (-1) -#define Toolbox_RegisterPostFilter_WimpObject 0 - -typedef struct -{ - int code; /* pair of event code and object class */ - ObjectClass class_id; /* used in Toolbox_RegisterPostFilter */ -} EventInterest; - - - -/* flags and types for Toolbox_ShowObject */ - -#define Toolbox_ShowObject_AsMenu 0x00000001 -#define Toolbox_ShowObject_AsSubMenu 0x00000002 -#define Toolbox_ShowObject_AsSubWindow 0x00000004 - -#define Toolbox_ShowObject_Default 0 -#define Toolbox_ShowObject_FullSpec 1 -#define Toolbox_ShowObject_TopLeft 2 -#define Toolbox_ShowObject_Centre 3 -#define Toolbox_ShowObject_AtPointer 4 - -typedef struct -{ - int x; - int y; -} TopLeft; - - - -/* flags and types for Toolbox_Memory */ - -#define Toolbox_Memory_ValidReasonBits 0xFF - -#define Toolbox_Memory_Alloc 0x00 -#define Toolbox_Memory_Free 0x01 -#define Toolbox_Memory_Reallocate 0x02 - - - -/* ------------------------------------------- Toolbox Events ----------------------------------------- */ - -/* event codes */ - - -#define Toolbox_Error (Toolbox_SWIChunkBase + 0) -#define Toolbox_ObjectAutoCreated (Toolbox_SWIChunkBase + 1) -#define Toolbox_ObjectDeleted (Toolbox_SWIChunkBase + 2) - - -typedef struct -{ - unsigned int size; - int reference_number; - unsigned int event_code; - unsigned int flags; -} ToolboxEventHeader; - - -typedef struct -{ - ToolboxEventHeader hdr; - union - { - char bytes [212]; - int words [53]; - } data; - -} ToolboxEvent; /* generic structure of a Toolbox Event block */ - -typedef struct -{ - ObjectID self; - ComponentID component; - ToolboxEvent event; -} ToolboxEventMsg; - - -/* a Toolbox error event */ - -typedef struct -{ - ToolboxEventHeader hdr; - int errnum; - char errmess [256-20-sizeof(ToolboxEventHeader)-sizeof(ObjectID)-sizeof(ComponentID)-sizeof(int)]; -} ToolboxErrorEvent; - - -/* object has been auto-created event */ - -typedef struct -{ - ToolboxEventHeader hdr; - char template_name [256-20-sizeof(ToolboxEventHeader)-sizeof(ObjectID)-sizeof(ComponentID)]; -} ToolboxObjectAutoCreatedEvent; - -/* object has been deleted */ - -typedef struct -{ - ToolboxEventHeader hdr; - ObjectClass class_id; - void *client_handle; -} ToolboxObjectDeletedEvent; - - - - -/* ----------------------------------------- Toolbox Error Numbers ------------------------------------ */ - -#define Program_Error 0x1b000000 - -#define Toolbox_ErrorBase (Program_Error | 0x80cb00) - -#define Toolbox_NoMem (Toolbox_ErrorBase + 0) -#define Toolbox_BadSWI (Toolbox_ErrorBase + 1) -#define Toolbox_InvalidObjectID (Toolbox_ErrorBase + 2) -#define Toolbox_NotaToolboxTask (Toolbox_ErrorBase + 3) -#define Toolbox_NoDirName (Toolbox_ErrorBase + 4) -#define Toolbox_NoMsgsFD (Toolbox_ErrorBase + 5) -#define Toolbox_NoIDBlock (Toolbox_ErrorBase + 6) -#define Toolbox_BadResFile (Toolbox_ErrorBase + 7) -#define Toolbox_TasksActive (Toolbox_ErrorBase + 8) -#define Toolbox_TemplateNotFound (Toolbox_ErrorBase + 9) -#define Toolbox_NoSuchPreFilter (Toolbox_ErrorBase + 0xa) -#define Toolbox_NotaResFile (Toolbox_ErrorBase + 0xb) -#define Toolbox_BadResFileVersion (Toolbox_ErrorBase + 0xc) -#define Toolbox_BadFlags (Toolbox_ErrorBase + 0xd) -#define Toolbox_BadGetSysInfoReason (Toolbox_ErrorBase + 0xe) -#define Toolbox_BadMemoryReason (Toolbox_ErrorBase + 0xf) - - -/* ------------------------------------------- Toolbox Service Calls ---------------------------------- */ - -#define Service_ToolboxBase (Toolbox_SWIChunkBase+1) - -#define Service_ToolboxStarting (Service_ToolboxBase + 0) -#define Service_ToolboxTaskBorn (Service_ToolboxBase + 1) -#define Service_ToolboxTaskDied (Service_ToolboxBase + 2) -#define Service_ToolboxDying (Service_ToolboxBase + 3) - -#endif diff --git a/objects/h/window b/objects/h/window deleted file mode 100644 index 89b5a7b9901b28cba5dddb1c4c4d54894d30459c..0000000000000000000000000000000000000000 --- a/objects/h/window +++ /dev/null @@ -1,994 +0,0 @@ -/* Copyright 1996 Acorn Computers Ltd - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -/* File: generic.h - * Purpose: client-visible information for the Window Object class - * Author: Ian Johnson - * History: 08-Dec-93: IDJ: created - * 07-Mar-94: CSM: Added label justification mask - * 17-Mar-94: CSM: Added LabelledBox_SpriteIsFilled flags - * Allows sprite labels on boxes to be unfilled, - * neater & allows tile to show through masked sprites. - * 13-Jun-94: NK : Removed colour from slider (goes into flags) - * - */ - - -#ifndef __window_h -#define __window_h - -#ifndef __wimp_h -#include "twimp.h" -#endif - -#ifndef __toolbox_h -#include "objects.toolbox.h" -#endif - - -#define Window_SWIChunkBase 0x82880 -#define Window_ObjectClass Window_SWIChunkBase -#define Window_ClassSWI (Window_SWIChunkBase + 0) -#define Window_PostFilter (Window_SWIChunkBase + 1) -#define Window_PreFilter (Window_SWIChunkBase + 2) -#define Window_GetPointerInfo (Window_SWIChunkBase + 3) -#define Window_WimpToToolbox (Window_SWIChunkBase + 4) -#define Window_RegisterExternal (Window_SWIChunkBase + 5) -#define Window_DeregisterExternal (Window_SWIChunkBase + 6) -#define Window_SupportExternal (Window_SWIChunkBase + 7) -#define Window_RegisterFilter (Window_SWIChunkBase + 8) -#define Window_DeregisterFilter (Window_SWIChunkBase + 9) -#define Window_EnumerateGadgets (Window_SWIChunkBase +10) -#define Window_GadgetGetIconList (Window_SWIChunkBase +11) - -/* 'private ones' */ - -#define Window_InternalOp (Window_SWIChunkBase + 32) -#define Window_PreSubMenuShow (Window_SWIChunkBase + 61) -#define Window_ExtractGadgetInfo (Window_SWIChunkBase + 62) -#define Window_PlotGadget (Window_SWIChunkBase + 63) - - - -/* --------------------------------------------- Gadgets --------------------------------------------- */ - -/* --------- generic gadgets -------- */ - -typedef struct -{ - int flags; - int type; - int xmin, - ymin, - xmax, - ymax; - ComponentID component_id; - char *help_message; - int max_help; - -} GadgetHeader; - -/* generic gadget flags */ - -#define Gadget_Faded (1U<<31) -#define Gadget_AtBack (1<<30) - -/* generic gadget methods */ - -#define Gadget_Base 64 -#define Gadget_GetFlags (Gadget_Base + 0) /* 64 */ -#define Gadget_SetFlags (Gadget_Base + 1) /* 65 */ -#define Gadget_SetHelpMessage (Gadget_Base + 2) /* 66 */ -#define Gadget_GetHelpMessage (Gadget_Base + 3) /* 67 */ -#define Gadget_GetIconList (Gadget_Base + 4) /* 68 */ -#define Gadget_SetFocus (Gadget_Base + 5) /* 69 */ -#define Gadget_GetType (Gadget_Base + 6) /* 70 */ -#define Gadget_MoveGadget (Gadget_Base + 7) /* 71 */ -#define Gadget_GetBBox (Gadget_Base + 8) /* 72 */ -#define Gadget_Max (Gadget_Base + 63) /* 127 */ - - - -/* --------- Action Button ---------- */ - - -/* template definition */ - -typedef struct -{ - char *text; - int max_text_len; - char *click_show; - int event; - -} ActionButton; - -#define ActionButton_IsDefault 0x00000001 -#define ActionButton_IsCancel 0x00000002 -#define ActionButton_IsLocal 0x00000004 -#define ActionButton_ClickShowTransient 0x00000008 -#define ActionButton_ClickShowCentred 0x00000010 -#define ActionButton_ClickShowAtPointer 0x00000020 - -#define ActionButtonValidFlags 0xC000003F - -/* action button methods */ - -#define ActionButton_Base (Gadget_Max + 1) /* 128 */ -#define ActionButton_SetText (ActionButton_Base + 0) /* 128 */ -#define ActionButton_GetText (ActionButton_Base + 1) /* 129 */ -#define ActionButton_SetEvent (ActionButton_Base + 2) /* 130 */ -#define ActionButton_GetEvent (ActionButton_Base + 3) /* 131 */ -#define ActionButton_SetClickShow (ActionButton_Base + 4) /* 132 */ -#define ActionButton_GetClickShow (ActionButton_Base + 5) /* 133 */ -#define ActionButton_SetFont (ActionButton_Base + 6) /* 134 */ -#define ActionButton_Max (ActionButton_Base + 63) /* 191 */ -#if (ActionButton_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* action button events */ - -#define ActionButton_Selected (Window_SWIChunkBase + 1) - -typedef struct -{ - ToolboxEventHeader hdr; -} ActionButtonSelectedEvent; - -#define ActionButton_Selected_Adjust 0x00000001 -#define ActionButton_Selected_Select 0x00000004 -#define ActionButton_Selected_Default 0x00000008 -#define ActionButton_Selected_Cancel 0x00000010 -#define ActionButton_Selected_Local 0x00000020 - - -/* --------- Option Button ---------- */ - - -/* template definition */ - -typedef struct -{ - char *label; - int max_label_len; - int event; - -} OptionButton; - -#define OptionButton_GenerateStateChange 0x00000001 -#define OptionButton_On 0x00000004 -#define OptionButtonValidFlags 0xC0000005 - -/* option button methods */ - -#define OptionButton_Base (ActionButton_Max + 1) /* 192 */ -#define OptionButton_SetLabel (OptionButton_Base + 0) /* 192 */ -#define OptionButton_GetLabel (OptionButton_Base + 1) /* 193 */ -#define OptionButton_SetEvent (OptionButton_Base + 2) /* 194 */ -#define OptionButton_GetEvent (OptionButton_Base + 3) /* 195 */ -#define OptionButton_SetState (OptionButton_Base + 4) /* 196 */ -#define OptionButton_GetState (OptionButton_Base + 5) /* 197 */ -#define OptionButton_SetFont (OptionButton_Base + 6) /* 198 */ -#define OptionButton_Max (OptionButton_Base + 63) /* 255 */ -#if (OptionButton_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* option button events */ - -#define OptionButton_StateChanged (Window_SWIChunkBase + 2) - -typedef struct -{ - ToolboxEventHeader hdr; - int new_state; -} OptionButtonStateChangedEvent; - -#define OptionButton_StateChanged_Adjust 0x00000001 -#define OptionButton_StateChanged_Select 0x00000004 - - - -/* ---------- Labelled Box ---------- */ - - -/* template definition */ - -typedef struct -{ - char *label; - -} LabelledBox; - -#define LabelledBox_Sprite 0x00000001 -#define LabelledBox_SpriteIsFilled 0x00000002 - -#define LabelledBoxValidFlags 0xC0000003 - -/* labelled box methods */ - -#define LabelledBox_Base (OptionButton_Max + 1) /* 256 */ -/* none defined yet */ -#define LabelledBox_Max (LabelledBox_Base + 63) /* 319 */ -#if (LabelledBox_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - - -/* -------------- Label ------------- */ - -/* template definition */ - -typedef struct -{ - char *label; - -} Label; - -/* Flags */ - -#define Label_NoBox 0x00000001 -#define Label_LeftJustify 0x00000000 -#define Label_RightJustify 0x00000002 -#define Label_Centred 0x00000004 - -#define LabelValidFlags 0xC0000007 - -/* Flags mask */ - -#define Label_Justification 0x00000006 /* Bits 1-2 */ - - -/* label methods */ - -#define Label_Base (LabelledBox_Max + 1) /* 320 */ -/* none defined yet */ -#define Label_Max (Label_Base + 63) /* 383 */ -#if (Label_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - - -/* ---------- Radio Button ----------- */ - -/* template definition */ - -typedef struct -{ - int group_number; - char *label; - int max_label_len; - int event; - -} RadioButton; - - -#define RadioButton_GenerateUserStateChanged 0x00000001 -#define RadioButton_GenerateSetStateChanged 0x00000002 -#define RadioButton_On 0x00000004 - -#define RadioButtonValidFlags 0xC0000005 /* set state event not supported */ - -/* radio button methods */ - -#define RadioButton_Base (Label_Max + 1) /* 384 */ -#define RadioButton_SetLabel (RadioButton_Base + 0) /* 384 */ -#define RadioButton_GetLabel (RadioButton_Base + 1) /* 385 */ -#define RadioButton_SetEvent (RadioButton_Base + 2) /* 386 */ -#define RadioButton_GetEvent (RadioButton_Base + 3) /* 387 */ -#define RadioButton_SetState (RadioButton_Base + 4) /* 388 */ -#define RadioButton_GetState (RadioButton_Base + 5) /* 389 */ -#define RadioButton_SetFont (RadioButton_Base + 6) /* 390 */ -#define RadioButton_Max (RadioButton_Base + 63) /* 447 */ -#if (RadioButton_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* radio button events */ - -#define RadioButton_StateChanged (Window_SWIChunkBase + 3) - -typedef struct -{ - ToolboxEventHeader hdr; - int state; - ComponentID old_on_button; -} RadioButtonStateChangedEvent; - -#define RadioButton_StateChanged_Adjust 0x00000001 -#define RadioButton_StateChanged_Select 0x00000004 - - - -/* --------- Display Field ---------- */ - - -/* template definition */ - -typedef struct -{ - char *text; - int max_text_len; - -} DisplayField; - -#define DisplayField_GenerateValueChanged 0x00000001 -#define DisplayField_LeftJustify 0x00000000 -#define DisplayField_RightJustify 0x00000002 -#define DisplayField_Centred 0x00000004 -#define DisplayField_Justification 0x00000006 - -#define DisplayFieldValidFlags 0xC0000006 /* value changed not supported */ - -/* display field methods */ - -#define DisplayField_Base (RadioButton_Max + 1) /* 448 */ -#define DisplayField_SetValue (DisplayField_Base + 0) /* 448 */ -#define DisplayField_GetValue (DisplayField_Base + 1) /* 449 */ -#define DisplayField_SetFont (DisplayField_Base + 2) /* 450 */ -#define DisplayField_GetFont (DisplayField_Base + 3) /* 451 */ -#define DisplayField_Max (DisplayField_Base + 63) /* 511 */ -#if (DisplayField_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* display field events */ - -/* Following event is NOT to be documented as unsupported in current release */ - -#define DisplayField_ValueChanged (Window_SWIChunkBase + 4) - -typedef struct -{ - ToolboxEventHeader hdr; - char string[sizeof(ToolboxEvent)-sizeof(ToolboxEventHeader)-sizeof(int)]; -} DisplayFieldValueChangedEvent; - -#define DisplayField_ValueChanged_TooLong 0x00000001 - - - -/* --------- Writable Field --------- */ - - -/* template definition */ - -typedef struct -{ - char *text; - int max_text_len; - char *allowable; - int max_allowable_len ; - ComponentID before; - ComponentID after; - -} WritableField; - -#define WritableField_GenerateUserValueChanged 0x00000001 -#define WritableField_GenerateSetValueChanged 0x00000002 -#define WritableField_LeftJustify 0x00000000 -#define WritableField_RightJustify 0x00000004 -#define WritableField_Centred 0x00000008 -#define WritableField_Justification 0x0000000C -#define WritableField_Password 0x00000010 - -#define WritableFieldValidFlags 0xC000001D /* set value event not supported */ - -/* writable field methods */ - -#define WritableField_Base (DisplayField_Max + 1) /* 512 */ -#define WritableField_SetValue (WritableField_Base + 0) /* 512 */ -#define WritableField_GetValue (WritableField_Base + 1) /* 513 */ -#define WritableField_SetAllowable (WritableField_Base + 2) /* 514 */ -#define WritableField_GetAllowable (WritableField_Base + 3) /* 515 */ -#define WritableField_SetFont (WritableField_Base + 4) /* 516 */ -#define WritableField_GetFont (WritableField_Base + 5) /* 517 */ -#define WritableField_Max (WritableField_Base + 63) /* 575 */ -#if (WritableField_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* writable fields */ - -#define WritableField_ValueChanged (Window_SWIChunkBase + 5) - -typedef struct -{ - ToolboxEventHeader hdr; - char string[sizeof(ToolboxEvent)-sizeof(ToolboxEventHeader)]; -} WritableFieldValueChangedEvent; - -#define WritableField_ValueChanged_TooLong 0x00000001 - - - -/* ------------ Slider -------------- */ - - -/* template definition */ - -typedef struct -{ - int lower_bound, - upper_bound, - step_size, - initial_value; - -} Slider; - -#define Slider_GenerateValueChangedEndOfDrag 0x00000001 -#define Slider_GenerateValueChangedDuringDrag 0x00000002 -#define Slider_GenerateSetValueChanged 0x00000004 -#define Slider_Vertical 0x00000008 -#define Slider_Draggable 0x00000010 -#define Slider_BarColour 0x0000f000 -#define Slider_BarColourShift 12 -#define Slider_BackgroundColour 0x000f0000 -#define Slider_BackgroundColourShift 16 - -#define SliderValidFlags 0xC00ff01b /* set value not supported */ - -/* slider methods */ - -#define Slider_Base (WritableField_Max + 1) /* 576 */ -#define Slider_SetValue (Slider_Base + 0) /* 576 */ -#define Slider_GetValue (Slider_Base + 1) /* 577 */ -#define Slider_SetBound (Slider_Base + 2) /* 578 */ -#define Slider_GetBound (Slider_Base + 3) /* 579 */ -#define Slider_SetColour (Slider_Base + 4) /* 580 */ -#define Slider_GetColour (Slider_Base + 5) /* 581 */ -#define Slider_Max (Slider_Base + 63) /* 639 */ -#if (Slider_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* slider events */ - -#define Slider_ValueChanged (Window_SWIChunkBase + 6) - -typedef struct -{ - ToolboxEventHeader hdr; - int new_value; -} SliderValueChangedEvent; - -#define Slider_ValueChanged_EndOfDrag 0x00000001 -#define Slider_ValueChanged_DuringDrag 0x00000002 - - - -/* ------------ Draggable ----------- */ - - -/* template definition */ - -typedef struct -{ - char *text; - int max_text_len; - char *sprite; - int max_sprite_len; - -} Draggable; - -#define Draggable_GenerateDragStarted 0x00000001 -#define Draggable_Sprite 0x00000002 -#define Draggable_Text 0x00000004 -#define Draggable_TypeMask 0x00000038 -#define Draggable_TypeShift 3 -#define Draggable_ToolboxIds 0x00000040 -#define Draggable_HasDropShadow 0x00000080 -#define Draggable_NotDithered 0x00000100 -#define DraggableValidFlags 0xC00001df - - -/* draggable methods */ - -#define Draggable_Base (Slider_Max + 1) /* 640 */ -#define Draggable_SetSprite (Draggable_Base + 0) /* 640 */ -#define Draggable_GetSprite (Draggable_Base + 1) /* 641 */ -#define Draggable_SetText (Draggable_Base + 2) /* 642 */ -#define Draggable_GetText (Draggable_Base + 3) /* 643 */ -#define Draggable_SetState (Draggable_Base + 4) /* 644 */ -#define Draggable_GetState (Draggable_Base + 5) /* 645 */ -#define Draggable_Max (Draggable_Base + 63) /* 703 */ -#if (Draggable_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* draggable events */ - -#define Draggable_DragStarted (Window_SWIChunkBase + 7) -#define Draggable_DragEnded (Window_SWIChunkBase + 8) - - -typedef struct -{ - ToolboxEventHeader hdr; -} DraggableDragStartedEvent; - -#define Draggable_DragStarted_Adjust 0x00000001 -#define Draggable_DragStarted_Menu 0x00000002 -#define Draggable_DragStarted_Select 0x00000004 -#define Draggable_DragStarted_Shift 0x00000008 -#define Draggable_DragStarted_Ctrl 0x00000010 - - -typedef struct -{ - ToolboxEventHeader hdr; - int window_handle; - int icon_handle; - int x; - int y; -} DraggableDragEndedEvent; - - -/* -------------- PopUp ------------- */ - - -/* template definition */ - -typedef struct -{ - char *menu; - -} PopUp; - -#define PopUp_GenerateAboutToBeShown 0x00000001 - -#define PopupMenuValidFlags 0xC0000001 - -/* popup menu methods */ - -#define PopUp_Base (Draggable_Max + 1) /* 704 */ -#define PopUp_SetMenu (PopUp_Base + 0) /* 704 */ -#define PopUp_GetMenu (PopUp_Base + 1) /* 705 */ -#define PopUp_Max (PopUp_Base + 63) /* 767 */ -#if (PopUp_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* popup menu events */ - -#define PopUp_AboutToBeShown (Window_SWIChunkBase + 11) - -typedef struct -{ - ToolboxEventHeader hdr; - ObjectID menu_id; - int show_type; - int top_left_x; - int top_left_y; -}PopUpAboutToBeShownEvent; - - - -/* ------------- Adjuster ----------- */ - - -/* template definition */ - -typedef struct -{ - int dummy; - -} Adjuster; - -#define Adjuster_Increment 0x00000000 -#define Adjuster_Decrement 0x00000001 -#define Adjuster_UpDown 0x00000002 -#define Adjuster_LeftRight 0x00000000 - -#define AdjusterValidFlags 0xC0000003 - -/* adjuster arrow methods */ - -#define AdjusterArrow_Base (PopUp_Max + 1) /* 768 */ -/* none defined yet */ -#define AdjusterArrow_Max (AdjusterArrow_Base + 63) /* 831 */ -#if (AdjusterArrow_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* adjuster arrow events */ - -#define Adjuster_Clicked (Window_SWIChunkBase + 12) - -typedef struct -{ - ToolboxEventHeader hdr; - int direction; -} AdjusterClickedEvent; - -#define Adjuster_Clicked_Down 0x00000000 -#define Adjuster_Clicked_Up 0x00000001 - - - -/* ------------ Number Range -------- */ - - -/* template definition */ - -typedef struct -{ - int lower_bound, - upper_bound, - step_size, - initial_value; - int precision; - ComponentID before; - ComponentID after; - int display_length; - -} NumberRange; - -#define NumberRange_GenerateUserValueChanged 0x00000001 -#define NumberRange_GenerateSetValueChanged 0x00000002 -#define NumberRange_Writable 0x00000004 -#define NumberRange_HasNumericalDisplay 0x00000008 -#define NumberRange_Adjusters 0x00000010 -#define NumberRange_NoSlider 0x00000000 -#define NumberRange_SliderType 0x00000020 -#define NumberRange_SliderRight (NumberRange_SliderType * 1) -#define NumberRange_SliderLeft (NumberRange_SliderType * 2) -#define NumberRange_LeftJustify 0x00000000 -#define NumberRange_RightJustify 0x00000100 -#define NumberRange_Centred 0x00000200 -#define NumberRange_Justification 0x00000300 -#define NumberRange_SliderBarColour 0x00001000 /* multiply by desktop colour number */ -#define NumberRange_SliderBackColour 0x00010000 -#define NumberRange_SliderTypeMask 0x000000E0 /* room for expansion */ - -#define NumberRangeValidFlags 0xC00ff37d - -/* number range methods */ - -#define NumberRange_Base (AdjusterArrow_Max + 1) /* 832 */ -#define NumberRange_SetValue (NumberRange_Base + 0) /* 832 */ -#define NumberRange_GetValue (NumberRange_Base + 1) /* 833 */ -#define NumberRange_SetBounds (NumberRange_Base + 2) /* 834 */ -#define NumberRange_GetBounds (NumberRange_Base + 3) /* 835 */ -#define NumberRange_GetComponents (NumberRange_Base + 4) /* 836 */ -#define NumberRange_Max (NumberRange_Base + 63) /* 895 */ -#if (NumberRange_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* number range events */ - -#define NumberRange_ValueChanged (Window_SWIChunkBase + 13) - -typedef struct -{ - ToolboxEventHeader hdr; - int new_value; -} NumberRangeValueChangedEvent; - - - -/* ----------- String Set ----------- */ - - -/* template definition */ - -typedef struct -{ - char *string_set; - char *title; - char *initial_selected_string; - int max_selected_string_len; - char *allowable; - int max_allowable_len; - ComponentID before; - ComponentID after; - -} StringSet; - -#define StringSet_GenerateUserValueChanged 0x00000001 -#define StringSet_GenerateSetValueChanged 0x00000002 -#define StringSet_Writable 0x00000004 -#define StringSet_GenerateAboutToBeShown 0x00000008 -#define StringSet_NoDisplay 0x00000010 -#define StringSet_LeftJustify 0x00000000 -#define StringSet_RightJustify 0x00000020 -#define StringSet_Centred 0x00000040 -#define StringSet_Justification 0x00000060 - -#define StringSetValidFlags 0xC000007d - - -/* string set methods */ - -#define StringSet_Base (NumberRange_Max + 1) /* 896 */ -#define StringSet_SetAvailable (StringSet_Base + 0) /* 896 */ -#define StringSet_GetAvailable (StringSet_Base + 1) /* 897 */ -#define StringSet_SetSelected (StringSet_Base + 2) /* 898 */ -#define StringSet_GetSelected (StringSet_Base + 3) /* 899 */ -#define StringSet_SetAllowable (StringSet_Base + 4) /* 900 */ -#define StringSet_GetAllowable (StringSet_Base + 5) /* 901 */ -#define StringSet_GetComponents (StringSet_Base + 6) /* 902 */ -#define StringSet_SetFont (StringSet_Base + 7) /* 903 */ -#define StringSet_Max (StringSet_Base + 63) /* 959 */ -#if (StringSet_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - - -/* string set events */ - -#define StringSet_ValueChanged (Window_SWIChunkBase + 14) -#define StringSet_AboutToBeShown (Window_SWIChunkBase + 15) - -typedef struct -{ - ToolboxEventHeader hdr; - char string[sizeof(ToolboxEvent)-sizeof(ToolboxEventHeader)]; -} StringSetValueChangedEvent; - -#define StringSet_ValueChanged_TooLong 0x00000001 - -typedef struct -{ - ToolboxEventHeader hdr; -} StringSetAboutToBeShownEvent; - -/* ------------ Button Gadget ----------- */ - - -/* template definition */ - -typedef struct -{ - int button_flags; - char *value; - int max_value; - char *validation; - int max_validation; -} Button; - -#define Button_TaskSpriteArea 0x00000001 -#define Button_AllowMenuClicks 0x00000002 - -#define ButtonValidFlags 0xC0000003 - -/* button methods */ - -#define Button_Base (StringSet_Max + 1) /* 960 */ -#define Button_GetFlags (Button_Base + 0) /* 960 */ -#define Button_SetFlags (Button_Base + 1) /* 961 */ -#define Button_SetValue (Button_Base + 2) /* 962 */ -#define Button_GetValue (Button_Base + 3) /* 963 */ -#define Button_SetValidation (Button_Base + 4) /* 964 */ -#define Button_GetValidation (Button_Base + 5) /* 965 */ -#define Button_SetFont (Button_Base + 6) /* 966 */ -#define Button_GetFont (Button_Base + 7) /* 967 */ -#define Button_Max (Button_Base + 63) /* 1023 */ -#if (Button_Base % 64 != 0) -#error "Gadget codes out of sync" -#endif - -#if (Button_Base != 960) -#error "Gadgets out of sync" -#endif - - - -/* ------------------------------------------- Windows -------------------------------------------------- */ - - -/* template definition */ - -typedef struct -{ - int flags; - int wimp_key_code; - int key_event; - char *key_show; - -} KeyBoardShortcut; - - -#define KeyBoardShortcut_ShowAsTransient 0x00000001 -#define KeyBoardShortcut_ShowInCentre 0x00000002 -#define KeyBoardShortcut_ShowAtPointer 0x00000004 - - -typedef struct -{ - GadgetHeader hdr; - - union - { - ActionButton action_button; - OptionButton option_button; - LabelledBox labelled_box; - Label label; - RadioButton radio_button; - DisplayField display_field; - WritableField writable_field; - Slider slider; - Draggable draggable; - PopUp popup; - Adjuster adjuster; - NumberRange number_range; - StringSet string_set; - Button button; - } data; - -} Gadget; - - -typedef struct -{ - int flags; - char *help_message; - int max_help; - char *pointer_shape; - int max_pointer_shape; - int pointer_x_hot; - int pointer_y_hot; - char *menu; - int num_keyboard_shortcuts; - KeyBoardShortcut *keyboard_shortcuts; - int num_gadgets; - Gadget *gadgets; - ComponentID default_focus; - int show_event; - int hide_event; - char *toolbar_ibl; - char *toolbar_itl; - char *toolbar_ebl; - char *toolbar_etl; - wimp_Window window; - /* shortcuts and gadgets are here in memory */ - -} WindowTemplate; - - -#define Window_GenerateAboutToBeShown 0x00000001 -#define Window_AutoOpen 0x00000002 -#define Window_AutoClose 0x00000004 -#define Window_GenerateHasBeenHidden 0x00000008 -#define Window_IsToolBar 0x00000010 - -#define DontSetFocus -1 -#define SetFocusToWindow -2 - -#define Window_InternalBottomLeftToolbar 1 -#define Window_InternalTopLeftToolbar 2 -#define Window_ExternalBottomLeftToolbar 4 -#define Window_ExternalTopLeftToolbar 8 - -/* Window methods */ - -#define Window_GetWimpHandle 0 -#define Window_AddGadget 1 -#define Window_RemoveGadget 2 -#define Window_SetMenu 3 -#define Window_GetMenu 4 -#define Window_SetPointer 5 -#define Window_GetPointer 6 -#define Window_SetHelpMessage 7 -#define Window_GetHelpMessage 8 -#define Window_AddKeyboardShortcuts 9 -#define Window_RemoveKeyboardShortcuts 10 -#define Window_SetTitle 11 -#define Window_GetTitle 12 -#define Window_SetDefaultFocus 13 -#define Window_GetDefaultFocus 14 -#define Window_SetExtent 15 -#define Window_GetExtent 16 -#define Window_ForceRedraw 17 -#define Window_SetToolBars 18 -#define Window_GetToolBars 19 - -/* Window events */ - -#define Window_AboutToBeShown (Window_SWIChunkBase + 0) - - -typedef struct -{ - wimp_Bbox visible_area; /* visible area coords */ - int scx, - scy; /* scroll offsets */ - int behind; /* handle to open window behind */ - /* The following are only used with the extended Toolbox_ShowObject - * method (when Toolbox_ShowObject_AsSubWindow is set in flags) */ - unsigned int window_flags; - unsigned int parent_window_handle; - unsigned int alignment_flags; -} WindowShowObjectBlock; - - -typedef struct -{ - ToolboxEventHeader hdr; - int r2; - union - { - TopLeft top_left; - WindowShowObjectBlock full_spec; - - } r3; - -} WindowAboutToBeShownEvent; - -#define Window_HasBeenHidden (Window_SWIChunkBase + 16) - -typedef struct -{ - ToolboxEventHeader hdr; - -} WindowHasBeenHiddenEvent; - -/* ----------------------------------------- Window Error Numbers ------------------------------------- */ - -#define Window_ErrorBase (Program_Error | 0x0080a900) - -#define Window_AllocFailed (Window_ErrorBase+0x01) -#define Window_ShortBuffer (Window_ErrorBase+0x02) -#define Window_BadVersion (Window_ErrorBase+0x03) -#define Window_InvalidFlags (Window_ErrorBase+0x04) -#define Window_TasksActive (Window_ErrorBase+0x05) -#define Window_NoSuchTask (Window_ErrorBase+0x11) -#define Window_NoSuchMethod (Window_ErrorBase+0x12) -#define Window_NoSuchMiscOpMethod (Window_ErrorBase+0x13) -#define Window_InvalidComponentID (Window_ErrorBase+0x14) -#define Window_DuplicateComponentID (Window_ErrorBase+0x15) -#define Window_ReservedFlags (Window_ErrorBase+0x16) -#define Window_NoGadgetsLeft (Window_ErrorBase+0x17) -#define Window_NotToolbar (Window_ErrorBase+0x18) -#define Window_InvalidGadgetType (Window_ErrorBase+0x20) - -/* types of gadget */ - -#define ActionButton_Type ((sizeof(ActionButton) +sizeof(GadgetHeader)) << 16 | ActionButton_Base) -#define OptionButton_Type ((sizeof(OptionButton) +sizeof(GadgetHeader)) << 16 | OptionButton_Base) -#define LabelledBox_Type ((sizeof(LabelledBox) +sizeof(GadgetHeader)) << 16 | LabelledBox_Base) -#define RadioButton_Type ((sizeof(RadioButton) +sizeof(GadgetHeader)) << 16 | RadioButton_Base) -#define DisplayField_Type ((sizeof(DisplayField) +sizeof(GadgetHeader)) << 16 | DisplayField_Base) -#define WritableField_Type ((sizeof(WritableField) +sizeof(GadgetHeader)) << 16 | WritableField_Base) -#define Slider_Type ((sizeof(Slider) +sizeof(GadgetHeader)) << 16 | Slider_Base) -#define Draggable_Type ((sizeof(Draggable) +sizeof(GadgetHeader)) << 16 | Draggable_Base) -#define PopUp_Type ((sizeof(PopUp) +sizeof(GadgetHeader)) << 16 | PopUp_Base) -#define AdjusterArrow_Type ((sizeof(Adjuster) +sizeof(GadgetHeader)) << 16 | AdjusterArrow_Base) -#define NumberRange_Type ((sizeof(NumberRange) +sizeof(GadgetHeader)) << 16 | NumberRange_Base) -#define StringSet_Type ((sizeof(StringSet) +sizeof(GadgetHeader)) << 16 | StringSet_Base) -#define Button_Type ((sizeof(Button) +sizeof(GadgetHeader)) << 16 | Button_Base) - -/* service calls */ - -#define Service_WindowModuleStarting (Window_SWIChunkBase + 1) -#define Service_WindowModuleDying (Window_SWIChunkBase + 2) -#define Service_GadgetRegistered (Window_SWIChunkBase + 3) -#define Service_GadgetDeregistered (Window_SWIChunkBase + 4) - -#endif - diff --git a/s/toolboxmem b/s/toolboxmem deleted file mode 100644 index aef770a9f1730cd925d8f410cf9720398b39903a..0000000000000000000000000000000000000000 --- a/s/toolboxmem +++ /dev/null @@ -1,52 +0,0 @@ -; Copyright 1998 Acorn Computers Ltd -; -; Licensed under the Apache License, Version 2.0 (the "License"); -; you may not use this file except in compliance with the License. -; You may obtain a copy of the License at -; -; http://www.apache.org/licenses/LICENSE-2.0 -; -; Unless required by applicable law or agreed to in writing, software -; distributed under the License is distributed on an "AS IS" BASIS, -; WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -; See the License for the specific language governing permissions and -; limitations under the License. -; -; File: toolboxmem.s -; Purpose: veneers onto Toolbox memory allocation SWIs -; Author: Kevin Bracey -; History: 22-Nov-96: KJB: created - -XToolbox_Memory * &64EF9 - - AREA |ToolboxMemCode|,CODE,READONLY,PIC - - EXPORT toolbox_memory_alloc - EXPORT toolbox_memory_free - EXPORT toolbox_memory_extend - -toolbox_memory_alloc - MOV R12,LR - MOV R1,R0 - MOV R0,#0 - SWI XToolbox_Memory - MOVVS R0,#0 - MOVS PC,R12 - -toolbox_memory_free - MOV R12,LR - MOV R1,R0 - MOV R0,#1 - SWI XToolbox_Memory - MOVS PC,R12 - -toolbox_memory_extend - MOV R12,LR - MOV R2,R1 - MOV R1,R0 - MOV R0,#2 - SWI XToolbox_Memory - MOVVS R0,#0 - MOVS PC,R12 - - END