Add base ScritchUI API to get the list of fonts.
[SquirrelJME.git] / nanocoat / include / lib / scritchui / scritchuiPencilFontPseudo.h
blob865cfd6866e00a75f41cf6cba6a9c81e4e190f5a
1 /* -*- Mode: C; indent-tabs-mode: t; tab-width: 4 -*-
2 // ---------------------------------------------------------------------------
3 // SquirrelJME
4 // Copyright (C) Stephanie Gawroriski <xer@multiphasicapps.net>
5 // ---------------------------------------------------------------------------
6 // SquirrelJME is under the Mozilla Public License Version 2.0.
7 // See license.mkd for licensing and copyright information.
8 // -------------------------------------------------------------------------*/
10 /**
11 * Pseudo font of which slightly modifies an existing font.
13 * @since 2024/06/15
16 #ifndef SQUIRRELJME_SCRITCHUIPENCILFONTPSEUDO_H
17 #define SQUIRRELJME_SCRITCHUIPENCILFONTPSEUDO_H
19 #include "sjme/stdTypes.h"
20 #include "sjme/alloc.h"
21 #include "lib/scritchui/scritchuiPencilFont.h"
23 /* Anti-C++. */
24 #ifdef __cplusplus
25 #ifndef SJME_CXX_IS_EXTERNED
26 #define SJME_CXX_IS_EXTERNED
27 #define SJME_CXX_SQUIRRELJME_SCRITCHUIPENCILFONTPSEUDO_H
28 extern "C" {
29 #endif /* #ifdef SJME_CXX_IS_EXTERNED */
30 #endif /* #ifdef __cplusplus */
32 /*--------------------------------------------------------------------------*/
34 /**
35 * Creates a new pseudo font.
37 * @param inState The ScritchUI state being created under.
38 * @param inFont The input font.
39 * @param inStyle The desired style.
40 * @param inPixelSize The desired pixel size.
41 * @param outDerived The derived font.
42 * @return Any resultant error, if any.
43 * @return 2024/06/15
45 sjme_errorCode sjme_scritchui_core_fontPseudo(
46 sjme_attrInNotNull sjme_scritchui inState,
47 sjme_attrInNotNull sjme_scritchui_pencilFont inFont,
48 sjme_attrInValue sjme_scritchui_pencilFontStyle inStyle,
49 sjme_attrInPositiveNonZero sjme_jint inPixelSize,
50 sjme_attrOutNotNull sjme_scritchui_pencilFont* outDerived);
52 /*--------------------------------------------------------------------------*/
54 /* Anti-C++. */
55 #ifdef __cplusplus
56 #ifdef SJME_CXX_SQUIRRELJME_SCRITCHUIPENCILFONTPSEUDO_H
58 #undef SJME_CXX_SQUIRRELJME_SCRITCHUIPENCILFONTPSEUDO_H
59 #undef SJME_CXX_IS_EXTERNED
60 #endif /* #ifdef SJME_CXX_SQUIRRELJME_SCRITCHUIPENCILFONTPSEUDO_H */
61 #endif /* #ifdef __cplusplus */
63 #endif /* SQUIRRELJME_SCRITCHUIPENCILFONTPSEUDO_H */