ugBASIC
1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
screen_page.c
Go to the documentation of this file.
1
/*****************************************************************************
2
* ugBASIC - an isomorphic BASIC language compiler for retrocomputers *
3
*****************************************************************************
4
* Copyright 2021-2026 Marco Spedaletti (asimov@mclink.it)
5
*
6
* Licensed under the Apache License, Version 2.0 (the "License");
7
* you may not use this file except in compliance with the License.
8
* You may obtain a copy of the License at
9
*
10
* http://www.apache.org/licenses/LICENSE-2.0
11
*
12
* Unless required by applicable law or agreed to in writing, software
13
* distributed under the License is distributed on an "AS IS" BASIS,
14
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
* See the License for the specific language governing permissions and
16
* limitations under the License.
17
*----------------------------------------------------------------------------
18
* Concesso in licenza secondo i termini della Licenza Apache, versione 2.0
19
* (la "Licenza"); è proibito usare questo file se non in conformità alla
20
* Licenza. Una copia della Licenza è disponibile all'indirizzo:
21
*
22
* http://www.apache.org/licenses/LICENSE-2.0
23
*
24
* Se non richiesto dalla legislazione vigente o concordato per iscritto,
25
* il software distribuito nei termini della Licenza è distribuito
26
* "COSÌ COM'È", SENZA GARANZIE O CONDIZIONI DI ALCUN TIPO, esplicite o
27
* implicite. Consultare la Licenza per il testo specifico che regola le
28
* autorizzazioni e le limitazioni previste dalla medesima.
29
****************************************************************************/
30
31
/****************************************************************************
32
* INCLUDE SECTION
33
****************************************************************************/
34
35
#include "
../../ugbc.h
"
36
37
/****************************************************************************
38
* CODE SECTION
39
****************************************************************************/
40
46
/* <usermanual>
47
@keyword SCREEN PAGE
48
49
@english
50
51
The semantics of this keyword is different, depending on whether double buffering
52
is enabled or not. If double buffering is enabled, the ''SCREEN PAGE'' function
53
allows to know which page the program is on. There are two pages, page 0 (''PAGE 0''
54
or ''PAGE A'') and page 1 (''PAGE 1'' or ''PAGE B''). When you draw on page 0,
55
page 1 is visible, and vice versa.
56
57
On the other hand, if doube buffering is not enabled, this function will return
58
the actual screen page in use, as set by ''SCREEN PAGE'' command.
59
60
@italian
61
62
La semantica di questa funzione cambia, a seconda se è abilitato o meno il
63
double buffering. Se è abilitato, la funzione ''SCREEN PAGE'' permette di
64
sapere su quale pagina (delle due) ci si trova. Le pagine sono due,
65
la pagina 0 (''PAGE 0'' or ''PAGE A'') e la pagina 1 (''PAGE 1'' or ''PAGE B'').
66
Quando si disegna sulla pagina 0, la pagina 1 è visibile, e viceversa.
67
68
D'altra parte, se il double buffering non è abilitato, questa funzione
69
restituirà la pagina attuale in uso, così come impostata dal comando
70
''SCREEN PAGE''.
71
72
@syntax = SCREEN PAGE
73
74
@example IF SCREEN PAGE = PAGE 0 THEN
75
@example PRINT "first page"
76
@example ENDIF
77
78
@target coco3
79
@version
80
</usermanual> */
81
Variable
*
screen_page
(
Environment
* _environment ) {
82
83
Variable
* page =
variable_retrieve
( _environment,
"GIMESCREENCURRENT"
);
84
85
return
page;
86
87
}
variable_retrieve
Variable * variable_retrieve(Environment *_environment, char *_name)
Definition
_infrastructure.c:988
screen_page
Variable * screen_page(Environment *_environment)
Emit code for SCREEN SWAP.
Definition
screen_page.c:46
ugbc.h
Variable
struct _Variable Variable
Structure of a single variable.
Environment
struct _Environment Environment
Structure of compilation environment.
Z:
ugbasic
ugbc
src
targets
coco3
screen_page.c
Generated by
1.16.1