ugBASIC 1.18
An isomorphic BASIC language compiler for retrocomputers
Loading...
Searching...
No Matches
color_get.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
47/* <usermanual>
48@keyword COLOR (function)
49
50@english
51
52This function allows you to retrieve the color associated with the indicated position.
53Depending on the video chipset considered, the parameter of this function can be the
54number of possible colors or a specific register. Furthermore, the information returned
55is of type ''COLOR'', so it can be used where it is necessary to indicate a color.
56
57Note that this function does not necessarily return information on the "shade", but the
58result can be compared with the predefined constants.
59
60@italian
61
62Questa funzione permette di recuperare il colore associato alla posizione indicata.
63A seconda del chipset video considerato, il parametro di questa funzione può essere
64il numero dei colori possibili oppure un registro specifico. Inoltre, l'informazione
65restituita è di tipo ''COLOR'', quindi utilizzabile laddove sia necessario indicare
66un colore.
67
68Da notare che questa funzione non restituisce necessariamente informazioni sulla
69"sfumatura", ma il risultato può essere confrontato con le costanti predefinite.
70
71@syntax = COLOR(index)
72
73@example c = COLOR(0)
74
75@target c128
76</usermanual> */
77Variable * color_get_vars( Environment * _environment, char * _index ) {
78
79 Variable * index = variable_retrieve_or_define( _environment, _index, VT_COLOR, COLOR_BLACK );
80 Variable * result = variable_temporary( _environment, VT_COLOR, "(shade)" );
81
82 vic2_background_color_get_vars( _environment, index->realName, result->realName );
83
84 return result;
85
86}
#define COLOR_BLACK
Definition 6847.h:36
Variable * variable_retrieve_or_define(Environment *_environment, char *_name, VariableType _type, int _value)
Variable * variable_temporary(Environment *_environment, VariableType _type, char *_meaning)
Define a temporary variable.
Variable * color_get_vars(Environment *_environment, char *_index)
Emit ASM code for instruction = COLOR( [int] ).
Definition color_get.c:53
char * realName
Definition ugbc.h:982
struct _Variable Variable
Structure of a single variable.
struct _Environment Environment
Structure of compilation environment.
@ VT_COLOR
Definition ugbc.h:471
void vic2_background_color_get_vars(Environment *_environment, char *_index, char *_background_color)
VIC-II: emit code to retrieve background color
Definition vic2.c:743