; 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. ; ; > s.PoIcFilter ;;---------------------------------------------------------------- ;; post_icon_filter_handler ;; ;; This is called by the Wimp on entry to int_get_rectangle, after ;; it has drawn the icons for the previous rectangle. ;; ;; Entry: ;; ;; R2 - Task handle of calling task. ;; R6-R9 - screen coordinates of rectangle (x0,y0,x1,y1) ;; R10 - window handle - 1 ;; ;; Exit: ;; ;; All other registers preserved. ;; ;; All interested filters called. ;; ;; post_icon_filter_handler Push "r0-r2,LR" MOV R2,R2,ASL #16 MOV R2,R2,LSR #16 Rel r0,r10 ; find the window being redrawn LDR r1,post_icon_filters post_icon_filter_exit CMP r1,#0 [ No26bitCode Pull "r0-r2,PC",EQ ; End of list. | Pull "r0-r2,PC",EQ,^ ; End of list. ] LDR r14,[r1,#next_ptr] Push "r14" LDR r14,[r1,#f_task] TEQ r14,R2 CMPNE r14,#0 Pull "r1",NE BNE post_icon_filter_exit ; Filter not interested. LDR r12,[r1,#f_R12] ; Set R12. MOV LR,PC LDR PC, [r1,#f_address] NOP Pull "r1" B post_icon_filter_exit LNK s.CopyFilter