Commit 23680e24 authored by Robert Sprowson's avatar Robert Sprowson
Browse files

Add extra Wimp_ReadSysInfo reasons 23/24/25/26/28.

RISC OS Select has added reasons 18-27 and this change implements those that map directly to features that already exist (unimplemented ones return an error as before).
One additional reason, 28, permits the reading of the flags collected from the *WimpVisualFlags command so that applications can discover if the cheesy 3D borders are on or not.

Version 5.14. Tagged as 'Wimp-5_14'
parent 07fa30ed
......@@ -11,13 +11,13 @@
GBLS Module_HelpVersion
GBLS Module_ComponentName
GBLS Module_ComponentPath
Module_MajorVersion SETS "5.13"
Module_Version SETA 513
Module_MajorVersion SETS "5.14"
Module_Version SETA 514
Module_MinorVersion SETS ""
Module_Date SETS "04 Aug 2011"
Module_ApplicationDate SETS "04-Aug-11"
Module_Date SETS "23 Jan 2012"
Module_ApplicationDate SETS "23-Jan-12"
Module_ComponentName SETS "Wimp"
Module_ComponentPath SETS "castle/RiscOS/Sources/Desktop/Wimp"
Module_FullVersion SETS "5.13"
Module_HelpVersion SETS "5.13 (04 Aug 2011)"
Module_FullVersion SETS "5.14"
Module_HelpVersion SETS "5.14 (23 Jan 2012)"
END
/* (5.13)
/* (5.14)
*
* This file is automatically maintained by srccommit, do not edit manually.
* Last processed by srccommit version: 1.1.
*
*/
#define Module_MajorVersion_CMHG 5.13
#define Module_MajorVersion_CMHG 5.14
#define Module_MinorVersion_CMHG
#define Module_Date_CMHG 04 Aug 2011
#define Module_Date_CMHG 23 Jan 2012
#define Module_MajorVersion "5.13"
#define Module_Version 513
#define Module_MajorVersion "5.14"
#define Module_Version 514
#define Module_MinorVersion ""
#define Module_Date "04 Aug 2011"
#define Module_Date "23 Jan 2012"
#define Module_ApplicationDate "04-Aug-11"
#define Module_ApplicationDate "23-Jan-12"
#define Module_ComponentName "Wimp"
#define Module_ComponentPath "castle/RiscOS/Sources/Desktop/Wimp"
#define Module_FullVersion "5.13"
#define Module_HelpVersion "5.13 (04 Aug 2011)"
#define Module_LibraryVersionInfo "5:13"
#define Module_FullVersion "5.14"
#define Module_HelpVersion "5.14 (23 Jan 2012)"
#define Module_LibraryVersionInfo "5:14"
......@@ -158,6 +158,17 @@ WimpSysInfo_TransTables # 1 ; internal use
WimpSysInfo_IconiseButton # 1 ; disabled in Wimp 3.99 onwards
WimpSysInfo_BaseOfSprites # 1 ; Wimp 3.99 onwards
WimpSysInfo_ScrollPause # 1 ; Wimp 3.99 onwards
WimpSysInfo_Reserved_ROL18 # 1 ; RISC OS Select
WimpSysInfo_Reserved_ROL19 # 1 ; RISC OS Select
WimpSysInfo_Reserved_ROL20 # 1 ; RISC OS Select
WimpSysInfo_Reserved_ROL21 # 1 ; RISC OS Select
WimpSysInfo_Reserved_ROL22 # 1 ; RISC OS Select
WimpSysInfo_DragPause # 1 ; Wimp 5.14 onwards
WimpSysInfo_DoubleClickPause # 1 ; Wimp 5.14 onwards
WimpSysInfo_AutoMenuPause # 1 ; Wimp 5.14 onwards
WimpSysInfo_IconbarFactors # 1 ; Wimp 5.14 onwards
WimpSysInfo_Reserved_ROL27 # 1 ; RISC OS Select
WimpSysInfo_ThreeDFlags # 1 ; Wimp 5.14 onwards
WimpSysInfo_MAX # 0
; Extend reason codes
......
......@@ -402,7 +402,7 @@ ThreeDFlags_Default * ThreeDFlags_RemoveIconBackground
ThreeDFlags_NoFontBlending
ThreeDFlags_All * :NOT: ThreeDFlags_NoFontBlending
]
ThreeDFlags_Use3DBorders * 1<<0 ; set to indicate the user wants 3D borders if they are configured
ThreeDFlags_Use3DBorders * 1<<0 ; note, flag bit positions are exposed via Wimp_ReadSysInfo
ThreeDFlags_UseAlternateMenuTexture * 1<<1
ThreeDFlags_Fully3DIconBar * 1<<2
ThreeDFlags_RemoveIconBackgrounds * 1<<3
......@@ -1277,7 +1277,7 @@ messages # 4 ; =0 then no messages / -> messages bloc
; bits for portable speed control
MaxIdleEvents # 4 ; maximum number of idle events recieved
MaxIdleEvents # 4 ; maximum number of idle events received
; see 321nk later
IdlePerSec # 4 ; amount of time spent in idle mode
[ Stork
......@@ -5222,26 +5222,8 @@ Wimp_SWInames
;; Wimp_ReadSysInfo - return information given specfic index
;;
;; in R0 = index
;; 0 ==> read number of active tasks
;; 1 ==> read current Wimp mode (version 2.34 onwards)
;; 2 ==> read address of romspr_suffix
;; 3 ==> read status of commandwindow (pending => in Wimp)
;; 4 ==> current write direction
;; 5 ==> current task
;; 6 ==> Swap space Used / Free
;; 7 ==> Wimp version number (V3.10 on)
;; 8 ==> Outline font being used as system font
;; 9 ==> Tool sprite CB area
;; 10 ==> Icon bar information, internal use
;; 11 ==> Application space size
;; 12 ==> Message queue pointers, internal use
;; 13 ==> Memory debugging, internal use
;; 14 ==> Translation tables, internal use
;; 15 ==> disabled
;; 16 ==> R0 = low priority Wimp sprite pool, R1 = high priority sprite pool
;; 17 ==> Default autoscroll pause delay
;;
;; out R0 = value (depends on R0 on entry)
;; R1 = value (depends on R0 on entry)
;;-----------------------------------------------------------------------------
SWIWimp_ReadSysInfo
......@@ -5257,34 +5239,29 @@ SWIWimp_ReadSysInfo
B sysinfo_DesktopState ; 3 = state of the desktop
B sysinfo_WriteDir ; 4 = write direction
B sysinfo_CurrentTask ; 5 = return current task
[ Swapping
B sysinfo_Swapping ; 6 = swapping information / error if not swapping version
|
B err_badR0 ; otherwise return
]
B sysinfo_Version ; 7 = Get wimp version
[ outlinefont
B sysinfo_SystemFont ; 8 = Get system font handle
|
B err_badR0
]
B sysinfo_ToolSprites ; 9 = ToolSpriteCB
B sysinfo_IconBar ; 10= Iconbar info (Internal)
B sysinfo_IconBarInt ; 10= Iconbar info (Internal)
B sysinfo_appspace ; 11= App space size
B sysinfo_messages ; 12= message queue
B sysinfo_memclaim ; 13= list of memory claims
B sysinfo_transtables
B err_badR0
[ SpritePriority
B sysinfo_baseofsprites ; 16 = low/high priority sprite areas
|
B err_badR0
]
[ Autoscr
B sysinfo_pausedelay ; 17 = drag-and-drop scroll startup delay (cs)
|
B err_badR0
]
B sysinfo_messages ; 12= message queue (Internal)
B sysinfo_memclaim ; 13= list of memory claims (Internal)
B sysinfo_transtables ; 14= tool plotting info (Internal)
B err_badR0 ; 15= iconise button (Internal)
B sysinfo_baseofsprites ; 16= low/high priority sprite areas
B sysinfo_pausedelay ; 17= drag-and-drop scroll startup delay
B err_badR0 ; 18= ? (ROL)
B err_badR0 ; 19= priority sprite area (ROL)
B err_badR0 ; 20= special highlight colour (ROL)
B err_badR0 ; 21= text selection behaviour (ROL)
B err_badR0 ; 22= caret colour (ROL)
B sysinfo_dragging ; 23= mouse drag delay
B sysinfo_doubleclicks ; 24= double click delay
B sysinfo_automenus ; 25= auto menu open settings
B sysinfo_iconbar ; 26= iconbar speed and acceleration
B err_badR0 ; 27= screen edge notification (ROL)
B sysinfo_3Dpatch ; 28= visual flags
err_badR0
MyXError WimpBadSysInfo
......@@ -5330,33 +5307,33 @@ sysinfo_CurrentTask
;
B ExitWimp
[ Swapping
sysinfo_Swapping
[ Swapping
ADR R0,swapping
B ExitWimp
|
B err_badR0
]
VersionPtr DCD Module_Version
sysinfo_Version
LDR R0,VersionPtr
LDR R0,=Module_Version
B ExitWimp
LTORG
[ outlinefont
sysinfo_SystemFont ; added nk for 3.20
sysinfo_SystemFont
[ outlinefont
LDR R0,systemfont ; zero if no font, cf spec
LDR R1,symbolfont
STR R1,[sp]
B ExitWimp
]
B sysinfo_exitR0R1
|
B err_badR0
]
sysinfo_ToolSprites
ADRL R0,tool_areaCB
B ExitWimp
sysinfo_IconBar
sysinfo_IconBarInt
ADRL R0,iconbarhandle
MOV R1,#w_icons
MOV R2,#w_nicons
......@@ -5365,6 +5342,36 @@ sysinfo_IconBar
STMIA sp,{R1-R4}
B ExitWimp
sysinfo_dragging
LDRB R0,drag_movelimit
LDR R1,drag_timelimit
sysinfo_exitR0R1
STR R1,[sp]
B ExitWimp
sysinfo_doubleclicks
LDRB R0,doubleclick_movelimit
LDR R1,doubleclick_timelimit
B sysinfo_exitR0R1
sysinfo_3Dpatch
[ ThreeDPatch
LDR R0,ThreeDFlags
B ExitWimp
|
B err_badR0
]
sysinfo_iconbar
LDR R0,iconbar_scroll_speed
LDR R1,iconbar_scroll_accel
B sysinfo_exitR0R1
sysinfo_automenus
LDR R0,automenu_timelimit
LDR R1,menudragdelay
B sysinfo_exitR0R1
sysinfo_appspace
LDR R0,orig_applicationspacesize
B ExitWimp
......@@ -5373,15 +5380,16 @@ sysinfo_messages
ADR R0,headpointer
[ NKmessages1
ADRL R1,lastpointer
STMIA sp,{R1}
]
B sysinfo_exitR0R1
|
B ExitWimp
]
sysinfo_memclaim
[ DebugMemory
[ DebugMemory
ADRL R0,memory_claims
LDR R0,[R0]
]
]
B ExitWimp
sysinfo_transtables
......@@ -5391,20 +5399,23 @@ sysinfo_transtables
STMIA sp,{R1-R2}
B ExitWimp
[ SpritePriority
sysinfo_baseofsprites
[ SpritePriority
LDR R0, baseoflosprites
LDR R1, baseofhisprites
STR R1, [sp]
B ExitWimp
B sysinfo_exitR0R1
|
B err_badR0
]
[ Autoscr
sysinfo_pausedelay
[ Autoscr
LDRB R0, autoscr_default_pause
ADD R0, R0, R0, LSL #2 ; * 5
MOV R0, R0, LSL #1 ; * 10
B ExitWimp
|
B err_badR0
]
;;-----------------------------------------------------------------------------
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment