5 Commits

Author SHA1 Message Date
t-moe 552d0585de Unpacked Tft, Touch,Gui and SD library from idpa project 2015-03-17 14:18:36 +01:00
t-moe 91352a222b Added idpa reference software 2015-03-17 13:48:39 +01:00
t-moe 0dbe45a0b4 Cleaned up folders. 2015-03-17 13:33:35 +01:00
t-moe 6967573645 Updated pheriph driver to 1.4 2015-03-02 20:01:54 +01:00
t-moe cc41f75734 First version of disovery toolchain 2015-03-02 19:16:04 +01:00
10056 changed files with 66984 additions and 533966 deletions
+76
View File
@@ -0,0 +1,76 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?fileVersion 4.0.0?><cproject storage_type_id="org.eclipse.cdt.core.XmlProjectDescriptionStorage">
<storageModule moduleId="org.eclipse.cdt.core.settings">
<cconfiguration id="cdt.managedbuild.toolchain.gnu.cross.base.1368576398">
<storageModule buildSystemId="org.eclipse.cdt.managedbuilder.core.configurationDataProvider" id="cdt.managedbuild.toolchain.gnu.cross.base.1368576398" moduleId="org.eclipse.cdt.core.settings" name="Default">
<externalSettings/>
<extensions>
<extension id="org.eclipse.cdt.core.GmakeErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.CWDLocator" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GCCErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GASErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.GLDErrorParser" point="org.eclipse.cdt.core.ErrorParser"/>
<extension id="org.eclipse.cdt.core.ELF" point="org.eclipse.cdt.core.BinaryParser"/>
</extensions>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<configuration artifactName="${ProjName}" buildProperties="" description="" id="cdt.managedbuild.toolchain.gnu.cross.base.1368576398" name="Default" parent="org.eclipse.cdt.build.core.emptycfg">
<folderInfo id="cdt.managedbuild.toolchain.gnu.cross.base.1368576398.357960121" name="/" resourcePath="">
<toolChain id="cdt.managedbuild.toolchain.gnu.cross.base.1769959713" name="Cross GCC" superClass="cdt.managedbuild.toolchain.gnu.cross.base">
<option id="cdt.managedbuild.option.gnu.cross.prefix.293575246" name="Prefix" superClass="cdt.managedbuild.option.gnu.cross.prefix"/>
<option id="cdt.managedbuild.option.gnu.cross.path.782624596" name="Path" superClass="cdt.managedbuild.option.gnu.cross.path"/>
<targetPlatform archList="all" binaryParser="org.eclipse.cdt.core.ELF" id="cdt.managedbuild.targetPlatform.gnu.cross.174263624" isAbstract="false" osList="all" superClass="cdt.managedbuild.targetPlatform.gnu.cross"/>
<builder id="cdt.managedbuild.builder.gnu.cross.1279514893" keepEnvironmentInBuildfile="false" managedBuildOn="false" name="Gnu Make Builder" superClass="cdt.managedbuild.builder.gnu.cross"/>
<tool id="cdt.managedbuild.tool.gnu.cross.c.compiler.1136001261" name="Cross GCC Compiler" superClass="cdt.managedbuild.tool.gnu.cross.c.compiler">
<option id="gnu.c.compiler.option.include.paths.649992569" superClass="gnu.c.compiler.option.include.paths" valueType="includePath">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/example/libs/BSP}&quot;"/>
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/example/libs/sGUI}&quot;"/>
<listOptionValue builtIn="false" value="/usr/arm-none-eabi/include"/>
<listOptionValue builtIn="false" value="/usr/lib/gcc/arm-none-eabi/4.9.2/include"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.c.compiler.input.1184220438" superClass="cdt.managedbuild.tool.gnu.c.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.compiler.1669992748" name="Cross G++ Compiler" superClass="cdt.managedbuild.tool.gnu.cross.cpp.compiler">
<inputType id="cdt.managedbuild.tool.gnu.cpp.compiler.input.564868280" superClass="cdt.managedbuild.tool.gnu.cpp.compiler.input"/>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.c.linker.1771545603" name="Cross GCC Linker" superClass="cdt.managedbuild.tool.gnu.cross.c.linker"/>
<tool id="cdt.managedbuild.tool.gnu.cross.cpp.linker.490606250" name="Cross G++ Linker" superClass="cdt.managedbuild.tool.gnu.cross.cpp.linker">
<option id="gnu.cpp.link.option.paths.312574565" superClass="gnu.cpp.link.option.paths" valueType="libPaths">
<listOptionValue builtIn="false" value="&quot;${workspace_loc:/example/libs}&quot;"/>
</option>
<inputType id="cdt.managedbuild.tool.gnu.cpp.linker.input.648346019" superClass="cdt.managedbuild.tool.gnu.cpp.linker.input">
<additionalInput kind="additionalinputdependency" paths="$(USER_OBJS)"/>
<additionalInput kind="additionalinput" paths="$(LIBS)"/>
</inputType>
</tool>
<tool id="cdt.managedbuild.tool.gnu.cross.archiver.1024233109" name="Cross GCC Archiver" superClass="cdt.managedbuild.tool.gnu.cross.archiver"/>
<tool id="cdt.managedbuild.tool.gnu.cross.assembler.1636598755" name="Cross GCC Assembler" superClass="cdt.managedbuild.tool.gnu.cross.assembler">
<inputType id="cdt.managedbuild.tool.gnu.assembler.input.1738279002" superClass="cdt.managedbuild.tool.gnu.assembler.input"/>
</tool>
</toolChain>
</folderInfo>
</configuration>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.externalSettings"/>
</cconfiguration>
</storageModule>
<storageModule moduleId="cdtBuildSystem" version="4.0.0">
<project id="example.null.999619443" name="example"/>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.core.LanguageSettingsProviders"/>
<storageModule moduleId="refreshScope" versionNumber="2">
<configuration configurationName="Default">
<resource resourceType="PROJECT" workspacePath="/example"/>
</configuration>
</storageModule>
<storageModule moduleId="scannerConfiguration">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1368576398;cdt.managedbuild.toolchain.gnu.cross.base.1368576398.357960121;cdt.managedbuild.tool.gnu.cross.c.compiler.1136001261;cdt.managedbuild.tool.gnu.c.compiler.input.1184220438">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
<scannerConfigBuildInfo instanceId="cdt.managedbuild.toolchain.gnu.cross.base.1368576398;cdt.managedbuild.toolchain.gnu.cross.base.1368576398.357960121;cdt.managedbuild.tool.gnu.cross.cpp.compiler.1669992748;cdt.managedbuild.tool.gnu.cpp.compiler.input.564868280">
<autodiscovery enabled="true" problemReportingEnabled="true" selectedProfileId=""/>
</scannerConfigBuildInfo>
</storageModule>
<storageModule moduleId="org.eclipse.cdt.internal.ui.text.commentOwnerProjectMappings"/>
</cproject>
+5
View File
@@ -0,0 +1,5 @@
build/
obj/
libs/*/obj
libs/*/*.a
+27
View File
@@ -0,0 +1,27 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>example</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.genmakebuilder</name>
<triggers>clean,full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.cdt.managedbuilder.core.ScannerConfigBuilder</name>
<triggers>full,incremental,</triggers>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.cdt.core.cnature</nature>
<nature>org.eclipse.cdt.core.ccnature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.managedBuildNature</nature>
<nature>org.eclipse.cdt.managedbuilder.core.ScannerConfigNature</nature>
</natures>
</projectDescription>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<project>
<configuration id="cdt.managedbuild.toolchain.gnu.cross.base.1368576398" name="Default">
<extension point="org.eclipse.cdt.core.LanguageSettingsProvider">
<provider copy-of="extension" id="org.eclipse.cdt.ui.UserLanguageSettingsProvider"/>
<provider-reference id="org.eclipse.cdt.core.ReferencedProjectsLanguageSettingsProvider" ref="shared-provider"/>
<provider copy-of="extension" id="org.eclipse.cdt.managedbuilder.core.GCCBuildCommandParser"/>
<provider-reference id="org.eclipse.cdt.managedbuilder.core.MBSLanguageSettingsProvider" ref="shared-provider"/>
</extension>
</configuration>
</project>
+94
View File
@@ -0,0 +1,94 @@
#2015 by tmoe, id10101 (and the internet :) )
#Name of the binary/project
TARGET=hello
#Tools
CROSS_COMPILE=arm-none-eabi-
CC=$(CROSS_COMPILE)gcc
OBJCOPY=$(CROSS_COMPILE)objcopy
GDB=$(CROSS_COMPILE)gdb
MKDIR=mkdir -p
RM=rm -f
RMDIR=rm -rf
STUTIL=utils/st-util-daemon.sh
STFLASH=st-flash
BACKUPNAME=$(shell date +'%y.%m.%d')_BACKUP
#Directories
SRC_DIR=./src
OBJ_DIR=./obj
BUILD_DIR=./build
LIB_DIR=./libs
#Architecture flags
FP_FLAGS?=-mfpu=fpv4-sp-d16 -mfloat-abi=softfp
ARCH_FLAGS=-mthumb -mcpu=cortex-m4 $(FP_FLAGS)
#Compiler, Linker Options
CPPFLAGS=-I$(LIB_DIR)/StmCoreNPheriph/inc
CFLAGS=$(ARCH_FLAGS) -O0 -g
LDFLAGS=--specs=nosys.specs
#Finding Input files
CFILES=$(shell find $(SRC_DIR) -name '*.c')
SFILES=$(SRC_DIR)/startup.s
#Generate corresponding obj names
SOBJS=$(SFILES:.s=.o)
COBJS=$(CFILES:.c=.o)
OBJS=$(patsubst $(SRC_DIR)/%,$(OBJ_DIR)/%,$(SOBJS) $(COBJS))
#Keep the objects files
.SECONDARY: $(OBJS)
#Mark targets which are not "file-targets"
.PHONY: all debug flash start stop backup clean
# List of all binaries to build
all: $(BUILD_DIR)/$(TARGET).elf $(BUILD_DIR)/$(TARGET).bin
start:
$(STUTIL) start
stop:
$(STUTIL) stop
#objects to elf
%.elf : $(OBJS)
@echo Linking...
$(MKDIR) $(BUILD_DIR)
$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -T./utils/stm32_flash.ld $^
#elf to binary
%.bin: %.elf
$(OBJCOPY) -O binary $< $@
#Asm files to objects
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.s
@echo Assembling $<...
$(MKDIR) $(OBJ_DIR)
$(CC) -x assembler-with-cpp $(CFLAGS) $(CPPFLAGS) -c $< -o $@
#C files to objects
$(OBJ_DIR)/%.o: $(SRC_DIR)/%.c
@echo Compiling $<...
$(MKDIR) $(OBJ_DIR)
$(CC) $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
#Clean Obj files and builded stuff
clean:
$(RMDIR) $(BUILD_DIR) $(OBJ_DIR)
#Debug target: starts the st-util server and gdb and leaves it open
debug: start all
$(GDB) $(BUILD_DIR)/$(TARGET).elf -x ./utils/gdb.script
#Flash target: starts the st-util server flashes the elf with gdb and exits afterwards
flash: start all
$(GDB) $(BUILD_DIR)/$(TARGET).elf -x ./utils/gdb.script -batch
backup: stop
$(STFLASH) read $(BACKUPNAME).bin 0x8000000 0x100000
+6
View File
@@ -0,0 +1,6 @@
Discoverpixy
============================
#TODO
Adjust this readme
-104
View File
@@ -1,104 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: MISRA-C:2004 Compliance Exceptions</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li class="current"><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Classes</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">MISRA-C:2004 Compliance Exceptions </div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><p>CMSIS violates the following MISRA-C:2004 rules:</p>
<ul>
<li>Required Rule 8.5, object/function definition in header file.<br />
Function definitions in header files are used to allow 'inlining'.</li>
</ul>
<ul>
<li>Required Rule 18.4, declaration of union type or object of union type: '{...}'.<br />
Unions are used for effective representation of core registers.</li>
</ul>
<ul>
<li>Advisory Rule 19.7, Function-like macro defined.<br />
Function-like macros are used to allow more efficient code. </li>
</ul>
</div></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun May 10 2015 15:15:19 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-96
View File
@@ -1,96 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: README.md File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="pages.html"><span>Related&#160;Pages</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">README.md File Reference</div> </div>
</div><!--header-->
<div class="contents">
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Sun May 10 2015 15:30:06 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-115
View File
@@ -1,115 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: Data Structures</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li class="current"><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li><a href="classes.html"><span>Data&#160;Structure&#160;Index</span></a></li>
<li><a href="functions.html"><span>Data&#160;Fields</span></a></li>
</ul>
</div>
</div><!-- top -->
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div class="header">
<div class="headertitle">
<div class="title">Data Structures</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock">Here are the data structures with brief descriptions:</div><div class="directory">
<table class="directory">
<tr id="row_0_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_block.html" target="_self">Block</a></td><td class="desc"></td></tr>
<tr id="row_1_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html" target="_self">BUTTON_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_2_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html" target="_self">CHECKBOX_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_3_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_d_i_r_e_c_t_o_r_y___s_t_r_u_c_t.html" target="_self">DIRECTORY_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_4_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_i_l_e___d_a_t_e___s_t_r_u_c_t.html" target="_self">FILE_DATE_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_5_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_i_l_e___h_a_n_d_l_e.html" target="_self">FILE_HANDLE</a></td><td class="desc"></td></tr>
<tr id="row_6_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_i_l_e___l_i_s_t___e_n_t_r_y___s.html" target="_self">FILE_LIST_ENTRY_S</a></td><td class="desc"></td></tr>
<tr id="row_7_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_i_l_e___s_t_r_u_c_t.html" target="_self">FILE_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_8_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_f_i_l_e___t_i_m_e___s_t_r_u_c_t.html" target="_self">FILE_TIME_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_9_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_n_u_m_u_p_d_o_w_n___s_t_r_u_c_t.html" target="_self">NUMUPDOWN_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_10_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_p_o_i_n_t___s_t_r_u_c_t.html" target="_self">POINT_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_11_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_s_c_r_e_e_n___s.html" target="_self">SCREEN_S</a></td><td class="desc"></td></tr>
<tr id="row_12_" class="even"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html" target="_self">TOUCH_AREA_STRUCT</a></td><td class="desc"></td></tr>
<tr id="row_13_"><td class="entry"><span style="width:16px;display:inline-block;">&#160;</span><span class="icona"><span class="icon">C</span></span><a class="el" href="struct_t_r_a_c_k_i_n_g___c_o_n_f_i_g___s_t_r_u_c_t.html" target="_self">TRACKING_CONFIG_STRUCT</a></td><td class="desc"></td></tr>
</table>
</div><!-- directory -->
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:19 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-125
View File
@@ -1,125 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/app/app.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_99a8943037ff3844556e6a5d529fec0c.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">app.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="app_8h_source.html">app.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="tft_8h_source.html">tft.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="system_8h_source.html">system.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="touch_8h_source.html">touch.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="screen__main_8h_source.html">screen_main.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="filesystem_8h_source.html">filesystem.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for app.c:</div>
<div class="dyncontent">
<div class="center"><img src="app_8c__incl.png" border="0" usemap="#common_2app_2app_8c" alt=""/></div>
<map name="common_2app_2app_8c" id="common_2app_2app_8c">
<area shape="rect" id="node2" href="app_8h.html" title="app.h" alt="" coords="5,80,60,107"/><area shape="rect" id="node3" href="tft_8h.html" title="tft.h" alt="" coords="173,80,217,107"/><area shape="rect" id="node6" href="system_8h.html" title="system.h" alt="" coords="357,80,433,107"/><area shape="rect" id="node7" href="touch_8h.html" title="touch.h" alt="" coords="84,80,149,107"/><area shape="rect" id="node8" href="screen__main_8h.html" title="screen_main.h" alt="" coords="458,80,565,107"/><area shape="rect" id="node11" href="filesystem_8h.html" title="filesystem.h" alt="" coords="241,80,333,107"/><area shape="rect" id="node9" href="screen_8h.html" title="screen.h" alt="" coords="454,155,526,181"/></map>
</div>
</div>
<p><a href="app_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8c6e58bb7e2a0dcf8537fc940ebfa385"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__app.html#ga8c6e58bb7e2a0dcf8537fc940ebfa385">app_init</a> ()</td></tr>
<tr class="separator:ga8c6e58bb7e2a0dcf8537fc940ebfa385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga071d403b77a003f23a0d2ab1fbb67a36"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__app.html#ga071d403b77a003f23a0d2ab1fbb67a36">app_process</a> ()</td></tr>
<tr class="separator:ga071d403b77a003f23a0d2ab1fbb67a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-9
View File
@@ -1,9 +0,0 @@
<map id="common/app/app.c" name="common/app/app.c">
<area shape="rect" id="node2" href="$app_8h.html" title="app.h" alt="" coords="5,80,60,107"/>
<area shape="rect" id="node3" href="$tft_8h.html" title="tft.h" alt="" coords="173,80,217,107"/>
<area shape="rect" id="node6" href="$system_8h.html" title="system.h" alt="" coords="357,80,433,107"/>
<area shape="rect" id="node7" href="$touch_8h.html" title="touch.h" alt="" coords="84,80,149,107"/>
<area shape="rect" id="node8" href="$screen__main_8h.html" title="screen_main.h" alt="" coords="458,80,565,107"/>
<area shape="rect" id="node11" href="$filesystem_8h.html" title="filesystem.h" alt="" coords="241,80,333,107"/>
<area shape="rect" id="node9" href="$screen_8h.html" title="screen.h" alt="" coords="454,155,526,181"/>
</map>
-1
View File
@@ -1 +0,0 @@
13bedfc4564c80ddf67d9b60d3738a2e
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 24 KiB

@@ -1,5 +0,0 @@
<map id="app_process" name="app_process">
<area shape="rect" id="node2" href="$system_8c.html#a222cd9a0957fe56d9bb3e745acfb7f1f" title="system_process" alt="" coords="155,5,274,32"/>
<area shape="rect" id="node4" href="$screen_8c.html#ab7394734ee1d57093721cbd22b901323" title="gui_screen_update" alt="" coords="149,56,280,83"/>
<area shape="rect" id="node3" href="$ll__system_8h.html#a1314af5893cdde97e48bf135b6996b1c" title="ll_system_process" alt="" coords="328,5,459,32"/>
</map>
@@ -1 +0,0 @@
ebc270de54d428c55394f82394ed07b5
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

@@ -1,5 +0,0 @@
<map id="app_process" name="app_process">
<area shape="rect" id="node2" href="$main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="main" alt="" coords="161,5,212,32"/>
<area shape="rect" id="node3" href="$main_8cpp.html#a66ce6d4c68e6b19a78c14bf3d33cc143" title="app_loop" alt="" coords="149,56,224,83"/>
<area shape="rect" id="node4" href="$main_8cpp.html#a0ddf1224851353fc92bfbff6f499fa97" title="main" alt="" coords="272,56,323,83"/>
</map>
@@ -1 +0,0 @@
8da72b5d35c593b07bb3360beeb4ac8e
Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.9 KiB

@@ -1,12 +0,0 @@
<map id="app_init" name="app_init">
<area shape="rect" id="node2" href="$system_8c.html#a3bc3f0cc729bc8f6bf8c0702c4d058dd" title="system_init" alt="" coords="145,5,234,32"/>
<area shape="rect" id="node4" href="$tft_8c.html#aaaed6a011ff4ec08c6a1a264e8396215" title="tft_init" alt="" coords="161,56,218,83"/>
<area shape="rect" id="node6" href="$touch_8c.html#a0ff491e3e07321fef794d4f07b103c0f" title="touch_init" alt="" coords="150,107,229,133"/>
<area shape="rect" id="node8" href="$filesystem_8c.html#a367ec5e73c77ddf5047d05021cf97a8f" title="filesystem_init" alt="" coords="137,157,242,184"/>
<area shape="rect" id="node10" href="$screen_8c.html#ad4473a16eaf48dab405d23f5f63af3aa" title="gui_screen_navigate" alt="" coords="120,208,259,235"/>
<area shape="rect" id="node11" href="$screen__main_8c.html#a6310b719fc2b06860024d0992d08acd1" title="get_screen_main" alt="" coords="129,259,250,285"/>
<area shape="rect" id="node3" href="$ll__system_8h.html#ad6c3b701d60604cc59b68e1af81c8f85" title="ll_system_init" alt="" coords="315,5,417,32"/>
<area shape="rect" id="node5" href="$ll__tft_8h.html#ac974fbb4327f3b0abaac5c33c07337c7" title="ll_tft_init" alt="" coords="331,56,401,83"/>
<area shape="rect" id="node7" href="$ll__touch_8h.html#a91ec460ea9b170c352be4173da2eaf48" title="ll_touch_init" alt="" coords="321,107,411,133"/>
<area shape="rect" id="node9" href="$ll__filesystem_8h.html#a5e9b54813d51bd15dff031285911a95e" title="ll_filesystem_init" alt="" coords="307,157,425,184"/>
</map>
@@ -1 +0,0 @@
ea418dcf53c31d31089f4abb8222e58f
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

@@ -1,3 +0,0 @@
<map id="app_init" name="app_init">
<area shape="rect" id="node2" href="$main_8c.html#a840291bc02cba5474a4cb46a9b9566fe" title="main" alt="" coords="120,5,171,32"/>
</map>
@@ -1 +0,0 @@
ffe31d4ecab84400bc216faea4bfc025
Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

-169
View File
@@ -1,169 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/app/app.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_99a8943037ff3844556e6a5d529fec0c.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">app.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="app_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/**************************************************************************************************************************************</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">* Project: discoverpixy</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">* Website: https://github.com/t-moe/discoverpixy</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">* Authors: Aaron Schmocker, Timo Lang</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">* Institution: BFH Bern University of Applied Sciences</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">* File: common/app/app.c</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">* Version History:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">* Date Autor Email SHA Changes</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">* 2015-04-03 timolang@gmail.com 51089aa Refactored Project Structure for use with emulator</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">* 2015-04-03 timolang@gmail.com 1f2af9f Added more tft functions to common and emulator. Fixed eventloop.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">* 2015-04-03 timolang@gmail.com cab8609 Integrated pixy into emulator. Pixy is no longer in the common/libs folder but in emulator/libs and discovery/libs</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">* 2015-04-03 timolang@gmail.com 1aa9194 Fixed Drawing of rects in Emulator. Got frames from pixy to emulator. Slooooow.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">* 2015-04-25 timolang@gmail.com 416883c Pixy&amp;Usb work with the new folder structure now.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">* 2015-04-25 timolang@gmail.com 3d1e4b2 Simplified code a bit. Emulator does not work stable when replugging pixy.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">* 2015-04-25 timolang@gmail.com 0858b0d Fixed some bugs when receiving large data.</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com 259d446 Added touch support to emulator. Implemented basic touch function.</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="comment">* 2015-04-27 aaron@duckpond.ch aed90ef Drawcircle added (emulator)</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com e249fb2 Added font support</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com 7c9eabc Added button support.</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com b300ac5 Added Checkbox support</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com cf72baa Introduced a Screen (sub) module and divided app into multiple screens.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment">* 2015-05-10 timolang@gmail.com e2bce8f Added filesystem module, tests and implementation for it in emulator.</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment">* 2015-05-12 aaron@duckpond.ch aec62d4 Added datasheets, updated touchsupport.</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment">* 2015-05-28 aaron@duckpond.ch 5bda699 implemented functions to get x and y coordinates and a test function</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment">* 2015-05-29 aaron@duckpond.ch 7d2d1a1 Implemented basic sampling and averaging of touch coordinates using timer7</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">**************************************************************************************************************************************/</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="app_8h.html">app.h</a>&quot;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tft_8h.html">tft.h</a>&quot;</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="system_8h.html">system.h</a>&quot;</span></div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="touch_8h.html">touch.h</a>&quot;</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"> 34</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="screen__main_8h.html">screen_main.h</a>&quot;</span></div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="filesystem_8h.html">filesystem.h</a>&quot;</span></div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"><a class="line" href="group__app.html#ga8c6e58bb7e2a0dcf8537fc940ebfa385"> 37</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__app.html#ga8c6e58bb7e2a0dcf8537fc940ebfa385">app_init</a>()</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;{</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <a class="code" href="group__system.html#ga3bc3f0cc729bc8f6bf8c0702c4d058dd">system_init</a>();</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <a class="code" href="group__tft.html#gaaaed6a011ff4ec08c6a1a264e8396215">tft_init</a>();</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <a class="code" href="group__touch.html#ga0ff491e3e07321fef794d4f07b103c0f">touch_init</a>();</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; <a class="code" href="group__filesystem.html#ga367ec5e73c77ddf5047d05021cf97a8f">filesystem_init</a>();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="group__screen.html#gad4473a16eaf48dab405d23f5f63af3aa">gui_screen_navigate</a>(<a class="code" href="group__main.html#ga6310b719fc2b06860024d0992d08acd1">get_screen_main</a>());</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;}</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="comment">//app event loop</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"><a class="line" href="group__app.html#ga071d403b77a003f23a0d2ab1fbb67a36"> 48</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__app.html#ga071d403b77a003f23a0d2ab1fbb67a36">app_process</a>()</div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160;{</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; <a class="code" href="group__system.html#ga222cd9a0957fe56d9bb3e745acfb7f1f">system_process</a>(); <span class="comment">//Let the system handle it&#39;s pending events</span></div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <a class="code" href="group__screen.html#gab7394734ee1d57093721cbd22b901323">gui_screen_update</a>(); <span class="comment">//update the currently active screen</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160;}</div>
<div class="ttc" id="group__screen_html_gab7394734ee1d57093721cbd22b901323"><div class="ttname"><a href="group__screen.html#gab7394734ee1d57093721cbd22b901323">gui_screen_update</a></div><div class="ttdeci">void gui_screen_update()</div><div class="ttdef"><b>Definition:</b> <a href="screen_8c_source.html#l00041">screen.c:41</a></div></div>
<div class="ttc" id="tft_8h_html"><div class="ttname"><a href="tft_8h.html">tft.h</a></div></div>
<div class="ttc" id="group__main_html_ga6310b719fc2b06860024d0992d08acd1"><div class="ttname"><a href="group__main.html#ga6310b719fc2b06860024d0992d08acd1">get_screen_main</a></div><div class="ttdeci">SCREEN_STRUCT * get_screen_main()</div><div class="ttdef"><b>Definition:</b> <a href="screen__main_8c_source.html#l00196">screen_main.c:196</a></div></div>
<div class="ttc" id="touch_8h_html"><div class="ttname"><a href="touch_8h.html">touch.h</a></div></div>
<div class="ttc" id="filesystem_8h_html"><div class="ttname"><a href="filesystem_8h.html">filesystem.h</a></div></div>
<div class="ttc" id="group__screen_html_gad4473a16eaf48dab405d23f5f63af3aa"><div class="ttname"><a href="group__screen.html#gad4473a16eaf48dab405d23f5f63af3aa">gui_screen_navigate</a></div><div class="ttdeci">bool gui_screen_navigate(SCREEN_STRUCT *screen)</div><div class="ttdef"><b>Definition:</b> <a href="screen_8c_source.html#l00074">screen.c:74</a></div></div>
<div class="ttc" id="group__system_html_ga3bc3f0cc729bc8f6bf8c0702c4d058dd"><div class="ttname"><a href="group__system.html#ga3bc3f0cc729bc8f6bf8c0702c4d058dd">system_init</a></div><div class="ttdeci">bool system_init()</div><div class="ttdef"><b>Definition:</b> <a href="system_8c_source.html#l00021">system.c:21</a></div></div>
<div class="ttc" id="group__app_html_ga071d403b77a003f23a0d2ab1fbb67a36"><div class="ttname"><a href="group__app.html#ga071d403b77a003f23a0d2ab1fbb67a36">app_process</a></div><div class="ttdeci">void app_process()</div><div class="ttdef"><b>Definition:</b> <a href="app_8c_source.html#l00048">app.c:48</a></div></div>
<div class="ttc" id="system_8h_html"><div class="ttname"><a href="system_8h.html">system.h</a></div></div>
<div class="ttc" id="group__system_html_ga222cd9a0957fe56d9bb3e745acfb7f1f"><div class="ttname"><a href="group__system.html#ga222cd9a0957fe56d9bb3e745acfb7f1f">system_process</a></div><div class="ttdeci">void system_process()</div><div class="ttdef"><b>Definition:</b> <a href="system_8c_source.html#l00031">system.c:31</a></div></div>
<div class="ttc" id="group__filesystem_html_ga367ec5e73c77ddf5047d05021cf97a8f"><div class="ttname"><a href="group__filesystem.html#ga367ec5e73c77ddf5047d05021cf97a8f">filesystem_init</a></div><div class="ttdeci">bool filesystem_init()</div><div class="ttdef"><b>Definition:</b> <a href="filesystem_8c_source.html#l00018">filesystem.c:18</a></div></div>
<div class="ttc" id="group__tft_html_gaaaed6a011ff4ec08c6a1a264e8396215"><div class="ttname"><a href="group__tft.html#gaaaed6a011ff4ec08c6a1a264e8396215">tft_init</a></div><div class="ttdeci">bool tft_init()</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00039">tft.c:39</a></div></div>
<div class="ttc" id="app_8h_html"><div class="ttname"><a href="app_8h.html">app.h</a></div></div>
<div class="ttc" id="group__touch_html_ga0ff491e3e07321fef794d4f07b103c0f"><div class="ttname"><a href="group__touch.html#ga0ff491e3e07321fef794d4f07b103c0f">touch_init</a></div><div class="ttdeci">bool touch_init()</div><div class="ttdef"><b>Definition:</b> <a href="touch_8c_source.html#l00061">touch.c:61</a></div></div>
<div class="ttc" id="group__app_html_ga8c6e58bb7e2a0dcf8537fc940ebfa385"><div class="ttname"><a href="group__app.html#ga8c6e58bb7e2a0dcf8537fc940ebfa385">app_init</a></div><div class="ttdeci">void app_init()</div><div class="ttdef"><b>Definition:</b> <a href="app_8c_source.html#l00037">app.c:37</a></div></div>
<div class="ttc" id="screen__main_8h_html"><div class="ttname"><a href="screen__main_8h.html">screen_main.h</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-119
View File
@@ -1,119 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/app/app.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_99a8943037ff3844556e6a5d529fec0c.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">app.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="app_8h__dep__incl.png" border="0" usemap="#common_2app_2app_8hdep" alt=""/></div>
<map name="common_2app_2app_8hdep" id="common_2app_2app_8hdep">
<area shape="rect" id="node2" href="app_8c.html" title="common/app/app.c" alt="" coords="5,80,139,107"/></map>
</div>
</div>
<p><a href="app_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8c6e58bb7e2a0dcf8537fc940ebfa385"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__app.html#ga8c6e58bb7e2a0dcf8537fc940ebfa385">app_init</a> ()</td></tr>
<tr class="separator:ga8c6e58bb7e2a0dcf8537fc940ebfa385"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga071d403b77a003f23a0d2ab1fbb67a36"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__app.html#ga071d403b77a003f23a0d2ab1fbb67a36">app_process</a> ()</td></tr>
<tr class="separator:ga071d403b77a003f23a0d2ab1fbb67a36"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-3
View File
@@ -1,3 +0,0 @@
<map id="common/app/app.h" name="common/app/app.h">
<area shape="rect" id="node2" href="$app_8c.html" title="common/app/app.c" alt="" coords="5,80,139,107"/>
</map>
-1
View File
@@ -1 +0,0 @@
c00550eeaf314ea8243495ac457f3132
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

@@ -1,5 +0,0 @@
<map id="app_process" name="app_process">
<area shape="rect" id="node2" href="$system_8c.html#a222cd9a0957fe56d9bb3e745acfb7f1f" title="system_process" alt="" coords="155,5,274,32"/>
<area shape="rect" id="node4" href="$screen_8c.html#ab7394734ee1d57093721cbd22b901323" title="gui_screen_update" alt="" coords="149,56,280,83"/>
<area shape="rect" id="node3" href="$ll__system_8h.html#a1314af5893cdde97e48bf135b6996b1c" title="ll_system_process" alt="" coords="328,5,459,32"/>
</map>
@@ -1 +0,0 @@
ebc270de54d428c55394f82394ed07b5
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.2 KiB

@@ -1,12 +0,0 @@
<map id="app_init" name="app_init">
<area shape="rect" id="node2" href="$system_8c.html#a3bc3f0cc729bc8f6bf8c0702c4d058dd" title="system_init" alt="" coords="145,5,234,32"/>
<area shape="rect" id="node4" href="$tft_8c.html#aaaed6a011ff4ec08c6a1a264e8396215" title="tft_init" alt="" coords="161,56,218,83"/>
<area shape="rect" id="node6" href="$touch_8c.html#a0ff491e3e07321fef794d4f07b103c0f" title="touch_init" alt="" coords="150,107,229,133"/>
<area shape="rect" id="node8" href="$filesystem_8c.html#a367ec5e73c77ddf5047d05021cf97a8f" title="filesystem_init" alt="" coords="137,157,242,184"/>
<area shape="rect" id="node10" href="$screen_8c.html#ad4473a16eaf48dab405d23f5f63af3aa" title="gui_screen_navigate" alt="" coords="120,208,259,235"/>
<area shape="rect" id="node11" href="$screen__main_8c.html#a6310b719fc2b06860024d0992d08acd1" title="get_screen_main" alt="" coords="129,259,250,285"/>
<area shape="rect" id="node3" href="$ll__system_8h.html#ad6c3b701d60604cc59b68e1af81c8f85" title="ll_system_init" alt="" coords="315,5,417,32"/>
<area shape="rect" id="node5" href="$ll__tft_8h.html#ac974fbb4327f3b0abaac5c33c07337c7" title="ll_tft_init" alt="" coords="331,56,401,83"/>
<area shape="rect" id="node7" href="$ll__touch_8h.html#a91ec460ea9b170c352be4173da2eaf48" title="ll_touch_init" alt="" coords="321,107,411,133"/>
<area shape="rect" id="node9" href="$ll__filesystem_8h.html#a5e9b54813d51bd15dff031285911a95e" title="ll_filesystem_init" alt="" coords="307,157,425,184"/>
</map>
@@ -1 +0,0 @@
ea418dcf53c31d31089f4abb8222e58f
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

-128
View File
@@ -1,128 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/app/app.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_99a8943037ff3844556e6a5d529fec0c.html">app</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">app.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="app_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/**************************************************************************************************************************************</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">* Project: discoverpixy</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">* Website: https://github.com/t-moe/discoverpixy</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">* Authors: Aaron Schmocker, Timo Lang</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">* Institution: BFH Bern University of Applied Sciences</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">* File: common/app/app.h</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">* Version History:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">* Date Autor Email SHA Changes</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">* 2015-04-03 timolang@gmail.com 51089aa Refactored Project Structure for use with emulator</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">* 2015-05-10 timolang@gmail.com 21edc56 Added doxyfile (doxygen) for the common folder. Started with doxygen comments for app and tft module.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">* 2015-05-11 timolang@gmail.com 08d9fe0 More work on doxygen module structure</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">* 2015-06-08 timolang@gmail.com 73db8b5 Added doxygen mainpage comment in app.h</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">**************************************************************************************************************************************/</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;</div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#ifndef APP_H</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#define APP_H</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__app.html#ga8c6e58bb7e2a0dcf8537fc940ebfa385">app_init</a>();</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__app.html#ga071d403b77a003f23a0d2ab1fbb67a36">app_process</a>();</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* APP_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="group__app_html_ga071d403b77a003f23a0d2ab1fbb67a36"><div class="ttname"><a href="group__app.html#ga071d403b77a003f23a0d2ab1fbb67a36">app_process</a></div><div class="ttdeci">void app_process()</div><div class="ttdef"><b>Definition:</b> <a href="app_8c_source.html#l00048">app.c:48</a></div></div>
<div class="ttc" id="group__app_html_ga8c6e58bb7e2a0dcf8537fc940ebfa385"><div class="ttname"><a href="group__app.html#ga8c6e58bb7e2a0dcf8537fc940ebfa385">app_init</a></div><div class="ttdeci">void app_init()</div><div class="ttdef"><b>Definition:</b> <a href="app_8c_source.html#l00037">app.c:37</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 246 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 229 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 676 B

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 147 B

-347
View File
@@ -1,347 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/gui/button.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_ad7e3681fbb6f77d8ce503c4a3117735.html">gui</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">button.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="tft_8h_source.html">tft.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="touch_8h_source.html">touch.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="button_8h_source.html">button.h</a>&quot;</code><br />
<code>#include &lt;string.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for button.c:</div>
<div class="dyncontent">
<div class="center"><img src="button_8c__incl.png" border="0" usemap="#common_2gui_2button_8c" alt=""/></div>
<map name="common_2gui_2button_8c" id="common_2gui_2button_8c">
<area shape="rect" id="node2" href="tft_8h.html" title="tft.h" alt="" coords="25,155,69,181"/><area shape="rect" id="node5" href="touch_8h.html" title="touch.h" alt="" coords="101,155,166,181"/><area shape="rect" id="node6" href="button_8h.html" title="button.h" alt="" coords="135,80,204,107"/></map>
</div>
</div>
<p><a href="button_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:a30147bc6062a23d99a2fd58b45adfb82"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>&#160;&#160;&#160;3</td></tr>
<tr class="separator:a30147bc6062a23d99a2fd58b45adfb82"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a05bb88dac6f60063eae2bb67dda1f4e8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a> (uint16_t bgcolor, uint16_t *light_shadow, uint16_t *dark_shadow)</td></tr>
<tr class="separator:a05bb88dac6f60063eae2bb67dda1f4e8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7dca41e6afa418abaf2d471acac9b649"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="button_8c.html#a7dca41e6afa418abaf2d471acac9b649">buttons_cb</a> (void *touchArea, <a class="el" href="group__touch.html#gab6037f32eebdf297a7d601a1e6c87768">TOUCH_ACTION</a> triggeredAction)</td></tr>
<tr class="separator:a7dca41e6afa418abaf2d471acac9b649"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga64d5d2aaff2c917e5d43e7ed849607de"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de">gui_button_add</a> (<a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a> *button)</td></tr>
<tr class="separator:ga64d5d2aaff2c917e5d43e7ed849607de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6da1e251bad09d29fbb3b3f405689ab1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1">gui_button_redraw</a> (<a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a> *button)</td></tr>
<tr class="separator:ga6da1e251bad09d29fbb3b3f405689ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39e6ec07616381a15f276cd821dad4fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga39e6ec07616381a15f276cd821dad4fd">gui_button_remove</a> (<a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a> *button)</td></tr>
<tr class="separator:ga39e6ec07616381a15f276cd821dad4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="a30147bc6062a23d99a2fd58b45adfb82"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BRIGHTNESS_VAL&#160;&#160;&#160;3</td>
</tr>
</table>
</div><div class="memdoc">
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a7dca41e6afa418abaf2d471acac9b649"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void buttons_cb </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>touchArea</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__touch.html#gab6037f32eebdf297a7d601a1e6c87768">TOUCH_ACTION</a>&#160;</td>
<td class="paramname"><em>triggeredAction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="button_8c_source.html#l00092">92</a> of file <a class="el" href="button_8c_source.html">button.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>* area = (<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button = (<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; uint16_t c_light, c_dark; <span class="comment">//c_light and c_dark will be filled with a lighter and a darker color as the background color (for the shadows)</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">bgcolor</a>, &amp;c_light, &amp;c_dark);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">switch</span> (triggeredAction) {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>: <span class="comment">//If the user touches the area for the &quot;first time&quot;</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a> | <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>; <span class="comment">//for the future we only want PEN_UP and PEN_LEAVE events</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">//Draw shadows</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, c_dark); <span class="comment">//North</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_dark); <span class="comment">//West</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, c_light); <span class="comment">//South</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_light); <span class="comment">//East</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a>: <span class="comment">//If the user took the pen away, while in the area (=button pressed!)</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>: <span class="comment">//or the user &quot;slided out&quot; of the area</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>; <span class="comment">//for the future we only want PEN_DOWN events</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">//Draw inverse shadows</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, c_light); <span class="comment">//North</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_light); <span class="comment">//West</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, c_dark); <span class="comment">//South</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_dark); <span class="comment">//East</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (triggeredAction == <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a> &amp;&amp; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">callback</a> != NULL) { <span class="comment">//If the button got &quot;pressed&quot; instead of left, and the user provided a callback</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">callback</a>(button); <span class="comment">//execute the user callback</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a></div><div class="ttdoc">Receive an event when the pen goes down inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00054">touch.h:54</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a></div><div class="ttdoc">Receive an event when the pen goes up inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00055">touch.h:55</a></div></div>
<div class="ttc" id="group__tft_html_ga5022f91ea04919e698a79c0c309ba6f8"><div class="ttname"><a href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a></div><div class="ttdeci">void tft_draw_line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00050">tft.c:50</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a47ada631c22a9d40348069145654f255"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">TOUCH_AREA_STRUCT::y1</a></div><div class="ttdeci">uint16_t y1</div><div class="ttdoc">Top Left Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00075">touch.h:75</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00055">button.h:55</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aedb5fdfe3c1d1a915b668ba7f3950753"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">TOUCH_AREA_STRUCT::x1</a></div><div class="ttdeci">uint16_t x1</div><div class="ttdoc">Top Left X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00074">touch.h:74</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_aebb27fad2492ea7aa81895d0ede61fcf"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">BUTTON_STRUCT::bgcolor</a></div><div class="ttdeci">uint16_t bgcolor</div><div class="ttdoc">The 16-bit background color of the button. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00057">button.h:57</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_adf10d197299522577e67d366877bdd3f"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">BUTTON_STRUCT::base</a></div><div class="ttdeci">TOUCH_AREA_STRUCT base</div><div class="ttdoc">Basic geometry of the button. You only need to set the x1, y1, x2, y2 members of this struct...</div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00056">button.h:56</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00072">touch.h:72</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aa377184ba406b3f0c4ac18c935378204"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">TOUCH_AREA_STRUCT::y2</a></div><div class="ttdeci">uint16_t y2</div><div class="ttdoc">Bottom Right Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00077">touch.h:77</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_ac5bc000f8954f38b7a641a485a26bae7"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">TOUCH_AREA_STRUCT::x2</a></div><div class="ttdeci">uint16_t x2</div><div class="ttdoc">Bottom Right X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00076">touch.h:76</a></div></div>
<div class="ttc" id="button_8c_html_a05bb88dac6f60063eae2bb67dda1f4e8"><div class="ttname"><a href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a></div><div class="ttdeci">void calculate_shadows(uint16_t bgcolor, uint16_t *light_shadow, uint16_t *dark_shadow)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00034">button.c:34</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a4026095999c2fd7a91f9bb91390647a4"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">TOUCH_AREA_STRUCT::hookedActions</a></div><div class="ttdeci">TOUCH_ACTION hookedActions</div><div class="ttdoc">Actions to listen to. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00073">touch.h:73</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_a269d23c8a60f8acdf9279642999ee6a9"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">BUTTON_STRUCT::callback</a></div><div class="ttdeci">BUTTON_CALLBACK callback</div><div class="ttdoc">Callback which is executed when the button is pressed. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00058">button.h:58</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a></div><div class="ttdoc">Receive an event when the pen leaves the region (pen was inside region before) </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00057">touch.h:57</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="button_8c_a7dca41e6afa418abaf2d471acac9b649_cgraph.png" border="0" usemap="#button_8c_a7dca41e6afa418abaf2d471acac9b649_cgraph" alt=""/></div>
<map name="button_8c_a7dca41e6afa418abaf2d471acac9b649_cgraph" id="button_8c_a7dca41e6afa418abaf2d471acac9b649_cgraph">
<area shape="rect" id="node2" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8" title="calculate_shadows" alt="" coords="140,5,272,32"/><area shape="rect" id="node3" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8" title="tft_draw_line" alt="" coords="159,56,253,83"/><area shape="rect" id="node4" href="group__ll__tft.html#ga2560737bf118275e6ce728f6dce1e83f" title="ll_tft_draw_line" alt="" coords="320,56,427,83"/></map>
</div>
</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="button_8c_a7dca41e6afa418abaf2d471acac9b649_icgraph.png" border="0" usemap="#button_8c_a7dca41e6afa418abaf2d471acac9b649_icgraph" alt=""/></div>
<map name="button_8c_a7dca41e6afa418abaf2d471acac9b649_icgraph" id="button_8c_a7dca41e6afa418abaf2d471acac9b649_icgraph">
<area shape="rect" id="node2" href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de" title="gui_button_add" alt="" coords="140,31,251,57"/><area shape="rect" id="node3" href="screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="345,5,395,32"/><area shape="rect" id="node4" href="group__numupdown.html#gab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="299,56,441,83"/><area shape="rect" id="node5" href="screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="489,56,540,83"/></map>
</div>
</p>
</div>
</div>
<a class="anchor" id="a05bb88dac6f60063eae2bb67dda1f4e8"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void calculate_shadows </td>
<td>(</td>
<td class="paramtype">uint16_t&#160;</td>
<td class="paramname"><em>bgcolor</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>light_shadow</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype">uint16_t *&#160;</td>
<td class="paramname"><em>dark_shadow</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="button_8c_source.html#l00034">34</a> of file <a class="el" href="button_8c_source.html">button.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#define BRIGHTNESS_VAL 3 //How much the Brightness is in/decreased for button shadows (3 -&gt; Add/Subtract 1/3 off Full Value)</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; uint16_t c_light, c_dark; <span class="comment">//c_light and c_dark will be filled with a lighter and a darker color as the background color (for the shadows)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; uint8_t r, g, b;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">//separate the channels of the 16-bit rgb565 color</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; r = (bgcolor &amp; 0xF800) &gt;&gt; 11;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; g = (bgcolor &amp; 0x07E0) &gt;&gt; 5;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; b = (bgcolor &amp; 0x001F) &gt;&gt; 0;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">//For the light shadow color:</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> ((r + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x1F) { <span class="comment">//Adding one third would exceed the maximum of the red channel</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; c_light = 0xF800; <span class="comment">//Use full red</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; } <span class="keywordflow">else</span> { <span class="comment">//adding one third to the red channel is fine</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; c_light = (r + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 11; <span class="comment">//Use same red as in the background, but add one third</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span> ((g + 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x3F) { <span class="comment">//same for the green channel</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; c_light |= 0x07E0;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; c_light |= (g + 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 5;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> ((b + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x1F) { <span class="comment">//and the blue channel</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; c_light |= 0x0018;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; c_light |= (b + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 0;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">//For the dark shadow color</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (r &gt; (0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//Subtracting one third would NOT exceed the minimum of the red channel</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; c_dark = (r - 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 11; <span class="comment">//Use same red as in the background, but subtract one third</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; } <span class="keywordflow">else</span> { <span class="comment">//Subtracting one third would give us a number below zero</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; c_dark = 0x0000; <span class="comment">//use no red channel</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (g &gt; (0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//Same for the green channel</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; c_dark |= (g - 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 5;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">if</span> (b &gt; (0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//and the blue channel</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; c_dark |= (b - 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 0;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">//Assign the calculated shadows to out parameters</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">if</span> (light_shadow != NULL) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; *light_shadow = c_light;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (dark_shadow != NULL) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; *dark_shadow = c_dark;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="ttc" id="button_8c_html_a30147bc6062a23d99a2fd58b45adfb82"><div class="ttname"><a href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a></div><div class="ttdeci">#define BRIGHTNESS_VAL</div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="button_8c_a05bb88dac6f60063eae2bb67dda1f4e8_icgraph.png" border="0" usemap="#button_8c_a05bb88dac6f60063eae2bb67dda1f4e8_icgraph" alt=""/></div>
<map name="button_8c_a05bb88dac6f60063eae2bb67dda1f4e8_icgraph" id="button_8c_a05bb88dac6f60063eae2bb67dda1f4e8_icgraph">
<area shape="rect" id="node2" href="button_8c.html#a7dca41e6afa418abaf2d471acac9b649" title="buttons_cb" alt="" coords="205,31,292,57"/><area shape="rect" id="node7" href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1" title="gui_button_redraw" alt="" coords="185,81,312,108"/><area shape="rect" id="node3" href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de" title="gui_button_add" alt="" coords="385,31,495,57"/><area shape="rect" id="node4" href="screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="614,5,665,32"/><area shape="rect" id="node5" href="group__numupdown.html#gab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="568,56,711,83"/><area shape="rect" id="node6" href="screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="759,56,809,83"/><area shape="rect" id="node8" href="screen__tracking_8c.html#a5e8f84ee8ff4bf827775c38ae6752509" title="update" alt="" coords="409,81,471,108"/><area shape="rect" id="node9" href="group__numupdown.html#ga4ee98a6c6af451123af6c464a851c03a" title="gui_numupdown_redraw" alt="" coords="360,132,520,159"/></map>
</div>
</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-5
View File
@@ -1,5 +0,0 @@
<map id="common/gui/button.c" name="common/gui/button.c">
<area shape="rect" id="node2" href="$tft_8h.html" title="tft.h" alt="" coords="25,155,69,181"/>
<area shape="rect" id="node5" href="$touch_8h.html" title="touch.h" alt="" coords="101,155,166,181"/>
<area shape="rect" id="node6" href="$button_8h.html" title="button.h" alt="" coords="135,80,204,107"/>
</map>
-1
View File
@@ -1 +0,0 @@
33994ade837fb14199daec629efc41d3
Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

@@ -1,10 +0,0 @@
<map id="calculate_shadows" name="calculate_shadows">
<area shape="rect" id="node2" href="$button_8c.html#a7dca41e6afa418abaf2d471acac9b649" title="buttons_cb" alt="" coords="205,31,292,57"/>
<area shape="rect" id="node7" href="$group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1" title="gui_button_redraw" alt="" coords="185,81,312,108"/>
<area shape="rect" id="node3" href="$group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de" title="gui_button_add" alt="" coords="385,31,495,57"/>
<area shape="rect" id="node4" href="$screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="614,5,665,32"/>
<area shape="rect" id="node5" href="$group__numupdown.html#gab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="568,56,711,83"/>
<area shape="rect" id="node6" href="$screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="759,56,809,83"/>
<area shape="rect" id="node8" href="$screen__tracking_8c.html#a5e8f84ee8ff4bf827775c38ae6752509" title="update" alt="" coords="409,81,471,108"/>
<area shape="rect" id="node9" href="$group__numupdown.html#ga4ee98a6c6af451123af6c464a851c03a" title="gui_numupdown_redraw" alt="" coords="360,132,520,159"/>
</map>
@@ -1 +0,0 @@
fa76bf187175ef1c464dff691495cbee
Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

@@ -1,3 +0,0 @@
<map id="gui_button_remove" name="gui_button_remove">
<area shape="rect" id="node2" href="$group__touch.html#gaa7d6cd569335d0ddfc9eeab479f3a0a8" title="touch_unregister_area" alt="" coords="184,5,335,32"/>
</map>
@@ -1 +0,0 @@
da14addc5d25976014fb879401a5dc4f
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

@@ -1,5 +0,0 @@
<map id="gui_button_remove" name="gui_button_remove">
<area shape="rect" id="node2" href="$screen__filetest_8c.html#acd1409088e83cf2a8ba2cf96dd9b52f8" title="leave" alt="" coords="240,5,291,32"/>
<area shape="rect" id="node3" href="$numupdown_8h.html#a9470a5c6f0ffbbda7c56e1b8a59f4b97" title="gui_numupdown_remove" alt="" coords="184,56,347,83"/>
<area shape="rect" id="node4" href="$screen__guitest_8c.html#acd1409088e83cf2a8ba2cf96dd9b52f8" title="leave" alt="" coords="395,56,445,83"/>
</map>
@@ -1 +0,0 @@
171522c0dd034e50b58066996c9c8ac0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

@@ -1,17 +0,0 @@
<map id="gui_button_add" name="gui_button_add">
<area shape="rect" id="node2" href="$group__touch.html#gad32e5d122ec3f5f88bc6b2d9f4a629f8" title="touch_have_empty" alt="" coords="167,5,297,32"/>
<area shape="rect" id="node3" href="$group__tft.html#ga7e99287b1e6b844f6867c63400959ffc" title="tft_font_width" alt="" coords="355,107,453,133"/>
<area shape="rect" id="node5" href="$group__tft.html#gaea9f6a88da91949befe52cd4ed000c5d" title="tft_font_height" alt="" coords="353,56,455,83"/>
<area shape="rect" id="node7" href="$button_8c.html#a7dca41e6afa418abaf2d471acac9b649" title="buttons_cb" alt="" coords="189,208,275,235"/>
<area shape="rect" id="node10" href="$button_8c.html#a6da1e251bad09d29fbb3b3f405689ab1" title="gui_button_redraw" alt="" coords="169,157,295,184"/>
<area shape="rect" id="node16" href="$group__touch.html#ga3adc36f55b7475b3f652c38c0e23d741" title="touch_register_area" alt="" coords="164,259,300,285"/>
<area shape="rect" id="node4" href="$ll__tft_8h.html#a3639ec94b2239cc02b3c47a14f6637a3" title="ll_tft_font_width" alt="" coords="515,107,626,133"/>
<area shape="rect" id="node6" href="$ll__tft_8h.html#a8dbc8b40717be527e6f1c5a2cfc72aeb" title="ll_tft_font_height" alt="" coords="513,56,629,83"/>
<area shape="rect" id="node8" href="$group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8" title="tft_draw_line" alt="" coords="357,259,451,285"/>
<area shape="rect" id="node9" href="$ll__tft_8h.html#a2560737bf118275e6ce728f6dce1e83f" title="ll_tft_draw_line" alt="" coords="517,309,624,336"/>
<area shape="rect" id="node11" href="$group__tft.html#ga781855ab93845ce326dfca7c099259c6" title="tft_fill_rectangle" alt="" coords="348,208,460,235"/>
<area shape="rect" id="node13" href="$group__tft.html#gabf54943131990b366ce6875a0e1925f6" title="tft_print_line" alt="" coords="358,157,450,184"/>
<area shape="rect" id="node12" href="$ll__tft_8h.html#a0111ae5623214d3d466b2b24598f303f" title="ll_tft_fill_rectangle" alt="" coords="508,259,633,285"/>
<area shape="rect" id="node14" href="$ll__tft_8h.html#af4b0b73ab01e1dc300ae65dc0ac029b6" title="ll_tft_num_fonts" alt="" coords="514,157,627,184"/>
<area shape="rect" id="node15" href="$ll__tft_8h.html#a408570a2b70769255924792ce189f2c1" title="ll_tft_draw_char" alt="" coords="515,208,627,235"/>
</map>
@@ -1 +0,0 @@
501f0964b2d897f6f127343360227d1b
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

@@ -1,5 +0,0 @@
<map id="gui_button_add" name="gui_button_add">
<area shape="rect" id="node2" href="$screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="210,5,261,32"/>
<area shape="rect" id="node3" href="$numupdown_8h.html#ab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="164,56,307,83"/>
<area shape="rect" id="node4" href="$screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="355,56,405,83"/>
</map>
@@ -1 +0,0 @@
5eb867e7a47de4a090964b666f4680e0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

@@ -1,13 +0,0 @@
<map id="gui_button_redraw" name="gui_button_redraw">
<area shape="rect" id="node2" href="$group__tft.html#ga7e99287b1e6b844f6867c63400959ffc" title="tft_font_width" alt="" coords="187,157,285,184"/>
<area shape="rect" id="node4" href="$group__tft.html#gaea9f6a88da91949befe52cd4ed000c5d" title="tft_font_height" alt="" coords="185,5,287,32"/>
<area shape="rect" id="node6" href="$group__tft.html#ga781855ab93845ce326dfca7c099259c6" title="tft_fill_rectangle" alt="" coords="180,56,292,83"/>
<area shape="rect" id="node8" href="$group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8" title="tft_draw_line" alt="" coords="189,107,283,133"/>
<area shape="rect" id="node10" href="$group__tft.html#gabf54943131990b366ce6875a0e1925f6" title="tft_print_line" alt="" coords="190,208,282,235"/>
<area shape="rect" id="node3" href="$ll__tft_8h.html#a3639ec94b2239cc02b3c47a14f6637a3" title="ll_tft_font_width" alt="" coords="347,157,458,184"/>
<area shape="rect" id="node5" href="$ll__tft_8h.html#a8dbc8b40717be527e6f1c5a2cfc72aeb" title="ll_tft_font_height" alt="" coords="345,5,461,32"/>
<area shape="rect" id="node7" href="$ll__tft_8h.html#a0111ae5623214d3d466b2b24598f303f" title="ll_tft_fill_rectangle" alt="" coords="340,56,465,83"/>
<area shape="rect" id="node9" href="$ll__tft_8h.html#a2560737bf118275e6ce728f6dce1e83f" title="ll_tft_draw_line" alt="" coords="349,107,456,133"/>
<area shape="rect" id="node11" href="$ll__tft_8h.html#af4b0b73ab01e1dc300ae65dc0ac029b6" title="ll_tft_num_fonts" alt="" coords="346,208,459,235"/>
<area shape="rect" id="node12" href="$ll__tft_8h.html#a408570a2b70769255924792ce189f2c1" title="ll_tft_draw_char" alt="" coords="347,259,459,285"/>
</map>
@@ -1 +0,0 @@
62af657bd44864683ba0e6290633b87d
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

@@ -1,7 +0,0 @@
<map id="gui_button_redraw" name="gui_button_redraw">
<area shape="rect" id="node2" href="$button_8h.html#a64d5d2aaff2c917e5d43e7ed849607de" title="gui_button_add" alt="" coords="205,31,315,57"/>
<area shape="rect" id="node6" href="$numupdown_8h.html#a4ee98a6c6af451123af6c464a851c03a" title="gui_numupdown_redraw" alt="" coords="180,81,340,108"/>
<area shape="rect" id="node3" href="$screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="434,5,485,32"/>
<area shape="rect" id="node4" href="$numupdown_8h.html#ab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="388,56,531,83"/>
<area shape="rect" id="node5" href="$screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="579,56,629,83"/>
</map>
@@ -1 +0,0 @@
ec404d9175bb6206944d0aa18215b2db
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

@@ -1,5 +0,0 @@
<map id="buttons_cb" name="buttons_cb">
<area shape="rect" id="node2" href="$button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8" title="calculate_shadows" alt="" coords="140,5,272,32"/>
<area shape="rect" id="node3" href="$group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8" title="tft_draw_line" alt="" coords="159,56,253,83"/>
<area shape="rect" id="node4" href="$group__ll__tft.html#ga2560737bf118275e6ce728f6dce1e83f" title="ll_tft_draw_line" alt="" coords="320,56,427,83"/>
</map>
@@ -1 +0,0 @@
6bedf70d8f5e2fe85c30ba4cbb021fbe
Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.9 KiB

@@ -1,6 +0,0 @@
<map id="buttons_cb" name="buttons_cb">
<area shape="rect" id="node2" href="$group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de" title="gui_button_add" alt="" coords="140,31,251,57"/>
<area shape="rect" id="node3" href="$screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="345,5,395,32"/>
<area shape="rect" id="node4" href="$group__numupdown.html#gab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="299,56,441,83"/>
<area shape="rect" id="node5" href="$screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="489,56,540,83"/>
</map>
@@ -1 +0,0 @@
c96c7e9b0adf121a4dfabb01591af7a6
Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.1 KiB

-324
View File
@@ -1,324 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/gui/button.c Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_ad7e3681fbb6f77d8ce503c4a3117735.html">gui</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">button.c</div> </div>
</div><!--header-->
<div class="contents">
<a href="button_8c.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/**************************************************************************************************************************************</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">* Project: discoverpixy</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">* Website: https://github.com/t-moe/discoverpixy</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">* Authors: Aaron Schmocker, Timo Lang</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">* Institution: BFH Bern University of Applied Sciences</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">* File: common/gui/button.c</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">* Version History:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">* Date Autor Email SHA Changes</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com 7c9eabc Added button support.</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">* 2015-05-17 timolang@gmail.com 2d46336 Improved comments in implementation of button, checkbox, numupdown, tft, touch and screen modules/submodules.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">**************************************************************************************************************************************/</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;</div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="tft_8h.html">tft.h</a>&quot;</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="touch_8h.html">touch.h</a>&quot;</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="button_8h.html">button.h</a>&quot;</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;<span class="preprocessor">#include &lt;string.h&gt;</span></div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;</div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="comment">/* The Idea is as follows:</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;<span class="comment"> * When the user add&#39;s a button we create a touch area for that region and wait for PEN_DOWN events.</span></div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="comment"> * Once the user puts the pen down in this area we&#39;ll redraw the button with different shadows (feedback)</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;<span class="comment"> * and we&#39;ll now wait on PEN_UP or PEN_LEAVE events.</span></div>
<div class="line"><a name="l00024"></a><span class="lineno"> 24</span>&#160;<span class="comment"> * If the user takes the pen away while in the area (PEN_UP), we call the provided user callback</span></div>
<div class="line"><a name="l00025"></a><span class="lineno"> 25</span>&#160;<span class="comment"> * Otherwise (PEN_LEAVE) we only restore the initial shadows</span></div>
<div class="line"><a name="l00026"></a><span class="lineno"> 26</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00027"></a><span class="lineno"> 27</span>&#160;</div>
<div class="line"><a name="l00028"></a><span class="lineno"> 28</span>&#160;<span class="comment">/* Possible improvements:</span></div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;<span class="comment"> * Move the button by 1 pixel while he is pressed, to create a &quot;full 3d&quot; experience</span></div>
<div class="line"><a name="l00030"></a><span class="lineno"> 30</span>&#160;<span class="comment"> * Add events for the case when the button is pressed for a long time, without release</span></div>
<div class="line"><a name="l00031"></a><span class="lineno"> 31</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00032"></a><span class="lineno"> 32</span>&#160;</div>
<div class="line"><a name="l00033"></a><span class="lineno"> 33</span>&#160;<span class="comment">//Method to calculate the shadow colors used to create the &quot;3d&quot; effect</span></div>
<div class="line"><a name="l00034"></a><span class="lineno"><a class="line" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8"> 34</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a>(uint16_t bgcolor, uint16_t* light_shadow, uint16_t* dark_shadow)</div>
<div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160;<span class="preprocessor">#define BRIGHTNESS_VAL 3 //How much the Brightness is in/decreased for button shadows (3 -&gt; Add/Subtract 1/3 off Full Value)</span></div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160; uint16_t c_light, c_dark; <span class="comment">//c_light and c_dark will be filled with a lighter and a darker color as the background color (for the shadows)</span></div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; uint8_t r, g, b;</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160;</div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; <span class="comment">//separate the channels of the 16-bit rgb565 color</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160; r = (bgcolor &amp; 0xF800) &gt;&gt; 11;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; g = (bgcolor &amp; 0x07E0) &gt;&gt; 5;</div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; b = (bgcolor &amp; 0x001F) &gt;&gt; 0;</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160;</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="comment">//For the light shadow color:</span></div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160; <span class="keywordflow">if</span> ((r + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x1F) { <span class="comment">//Adding one third would exceed the maximum of the red channel</span></div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; c_light = 0xF800; <span class="comment">//Use full red</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; } <span class="keywordflow">else</span> { <span class="comment">//adding one third to the red channel is fine</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; c_light = (r + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 11; <span class="comment">//Use same red as in the background, but add one third</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160; }</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160;</div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; <span class="keywordflow">if</span> ((g + 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x3F) { <span class="comment">//same for the green channel</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; c_light |= 0x07E0;</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; c_light |= (g + 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 5;</div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; }</div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160;</div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160; <span class="keywordflow">if</span> ((b + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &gt; 0x1F) { <span class="comment">//and the blue channel</span></div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; c_light |= 0x0018;</div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; } <span class="keywordflow">else</span> {</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; c_light |= (b + 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 0;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; }</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="comment">//For the dark shadow color</span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">if</span> (r &gt; (0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//Subtracting one third would NOT exceed the minimum of the red channel</span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; c_dark = (r - 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 11; <span class="comment">//Use same red as in the background, but subtract one third</span></div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160; } <span class="keywordflow">else</span> { <span class="comment">//Subtracting one third would give us a number below zero</span></div>
<div class="line"><a name="l00069"></a><span class="lineno"> 69</span>&#160; c_dark = 0x0000; <span class="comment">//use no red channel</span></div>
<div class="line"><a name="l00070"></a><span class="lineno"> 70</span>&#160; }</div>
<div class="line"><a name="l00071"></a><span class="lineno"> 71</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160; <span class="keywordflow">if</span> (g &gt; (0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//Same for the green channel</span></div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160; c_dark |= (g - 0x3F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 5;</div>
<div class="line"><a name="l00074"></a><span class="lineno"> 74</span>&#160; }</div>
<div class="line"><a name="l00075"></a><span class="lineno"> 75</span>&#160;</div>
<div class="line"><a name="l00076"></a><span class="lineno"> 76</span>&#160; <span class="keywordflow">if</span> (b &gt; (0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>)) { <span class="comment">//and the blue channel</span></div>
<div class="line"><a name="l00077"></a><span class="lineno"> 77</span>&#160; c_dark |= (b - 0x1F / <a class="code" href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a>) &lt;&lt; 0;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160; }</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00080"></a><span class="lineno"> 80</span>&#160; <span class="comment">//Assign the calculated shadows to out parameters</span></div>
<div class="line"><a name="l00081"></a><span class="lineno"> 81</span>&#160; <span class="keywordflow">if</span> (light_shadow != NULL) {</div>
<div class="line"><a name="l00082"></a><span class="lineno"> 82</span>&#160; *light_shadow = c_light;</div>
<div class="line"><a name="l00083"></a><span class="lineno"> 83</span>&#160; }</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160; <span class="keywordflow">if</span> (dark_shadow != NULL) {</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160; *dark_shadow = c_dark;</div>
<div class="line"><a name="l00087"></a><span class="lineno"> 87</span>&#160; }</div>
<div class="line"><a name="l00088"></a><span class="lineno"> 88</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;}</div>
<div class="line"><a name="l00090"></a><span class="lineno"> 90</span>&#160;</div>
<div class="line"><a name="l00091"></a><span class="lineno"> 91</span>&#160;<span class="comment">//Callback which is called when the user touches the touch-area we created for the button</span></div>
<div class="line"><a name="l00092"></a><span class="lineno"><a class="line" href="button_8c.html#a7dca41e6afa418abaf2d471acac9b649"> 92</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="button_8c.html#a7dca41e6afa418abaf2d471acac9b649">buttons_cb</a>(<span class="keywordtype">void</span>* touchArea, <a class="code" href="group__touch.html#gab6037f32eebdf297a7d601a1e6c87768">TOUCH_ACTION</a> triggeredAction)</div>
<div class="line"><a name="l00093"></a><span class="lineno"> 93</span>&#160;{</div>
<div class="line"><a name="l00094"></a><span class="lineno"> 94</span>&#160; <a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>* area = (<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00095"></a><span class="lineno"> 95</span>&#160; <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button = (<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00096"></a><span class="lineno"> 96</span>&#160;</div>
<div class="line"><a name="l00097"></a><span class="lineno"> 97</span>&#160; uint16_t c_light, c_dark; <span class="comment">//c_light and c_dark will be filled with a lighter and a darker color as the background color (for the shadows)</span></div>
<div class="line"><a name="l00098"></a><span class="lineno"> 98</span>&#160; <a class="code" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">bgcolor</a>, &amp;c_light, &amp;c_dark);</div>
<div class="line"><a name="l00099"></a><span class="lineno"> 99</span>&#160;</div>
<div class="line"><a name="l00100"></a><span class="lineno"> 100</span>&#160; <span class="keywordflow">switch</span> (triggeredAction) {</div>
<div class="line"><a name="l00101"></a><span class="lineno"> 101</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>: <span class="comment">//If the user touches the area for the &quot;first time&quot;</span></div>
<div class="line"><a name="l00102"></a><span class="lineno"> 102</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a> | <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>; <span class="comment">//for the future we only want PEN_UP and PEN_LEAVE events</span></div>
<div class="line"><a name="l00103"></a><span class="lineno"> 103</span>&#160;</div>
<div class="line"><a name="l00104"></a><span class="lineno"> 104</span>&#160; <span class="comment">//Draw shadows</span></div>
<div class="line"><a name="l00105"></a><span class="lineno"> 105</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, c_dark); <span class="comment">//North</span></div>
<div class="line"><a name="l00106"></a><span class="lineno"> 106</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_dark); <span class="comment">//West</span></div>
<div class="line"><a name="l00107"></a><span class="lineno"> 107</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, c_light); <span class="comment">//South</span></div>
<div class="line"><a name="l00108"></a><span class="lineno"> 108</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_light); <span class="comment">//East</span></div>
<div class="line"><a name="l00109"></a><span class="lineno"> 109</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00110"></a><span class="lineno"> 110</span>&#160;</div>
<div class="line"><a name="l00111"></a><span class="lineno"> 111</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a>: <span class="comment">//If the user took the pen away, while in the area (=button pressed!)</span></div>
<div class="line"><a name="l00112"></a><span class="lineno"> 112</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>: <span class="comment">//or the user &quot;slided out&quot; of the area</span></div>
<div class="line"><a name="l00113"></a><span class="lineno"> 113</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>; <span class="comment">//for the future we only want PEN_DOWN events</span></div>
<div class="line"><a name="l00114"></a><span class="lineno"> 114</span>&#160;</div>
<div class="line"><a name="l00115"></a><span class="lineno"> 115</span>&#160; <span class="comment">//Draw inverse shadows</span></div>
<div class="line"><a name="l00116"></a><span class="lineno"> 116</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, c_light); <span class="comment">//North</span></div>
<div class="line"><a name="l00117"></a><span class="lineno"> 117</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_light); <span class="comment">//West</span></div>
<div class="line"><a name="l00118"></a><span class="lineno"> 118</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, c_dark); <span class="comment">//South</span></div>
<div class="line"><a name="l00119"></a><span class="lineno"> 119</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_dark); <span class="comment">//East</span></div>
<div class="line"><a name="l00120"></a><span class="lineno"> 120</span>&#160;</div>
<div class="line"><a name="l00121"></a><span class="lineno"> 121</span>&#160; <span class="keywordflow">if</span> (triggeredAction == <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a> &amp;&amp; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">callback</a> != NULL) { <span class="comment">//If the button got &quot;pressed&quot; instead of left, and the user provided a callback</span></div>
<div class="line"><a name="l00122"></a><span class="lineno"> 122</span>&#160; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">callback</a>(button); <span class="comment">//execute the user callback</span></div>
<div class="line"><a name="l00123"></a><span class="lineno"> 123</span>&#160; }</div>
<div class="line"><a name="l00124"></a><span class="lineno"> 124</span>&#160;</div>
<div class="line"><a name="l00125"></a><span class="lineno"> 125</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00126"></a><span class="lineno"> 126</span>&#160;</div>
<div class="line"><a name="l00127"></a><span class="lineno"> 127</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00128"></a><span class="lineno"> 128</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00129"></a><span class="lineno"> 129</span>&#160; }</div>
<div class="line"><a name="l00130"></a><span class="lineno"> 130</span>&#160;}</div>
<div class="line"><a name="l00131"></a><span class="lineno"> 131</span>&#160;</div>
<div class="line"><a name="l00132"></a><span class="lineno"> 132</span>&#160;</div>
<div class="line"><a name="l00133"></a><span class="lineno"><a class="line" href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de"> 133</a></span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de">gui_button_add</a>(<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button)</div>
<div class="line"><a name="l00134"></a><span class="lineno"> 134</span>&#160;{</div>
<div class="line"><a name="l00135"></a><span class="lineno"> 135</span>&#160; <span class="keywordflow">if</span> (<a class="code" href="group__touch.html#gad32e5d122ec3f5f88bc6b2d9f4a629f8">touch_have_empty</a>(1)) { <span class="comment">//Check if the touch module can handle one additional area</span></div>
<div class="line"><a name="l00136"></a><span class="lineno"> 136</span>&#160; <span class="comment">//Calculate width and height of the button text</span></div>
<div class="line"><a name="l00137"></a><span class="lineno"> 137</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> strwidth = <a class="code" href="group__tft.html#ga7e99287b1e6b844f6867c63400959ffc">tft_font_width</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">font</a>) * strlen(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a16343090e80c4472521560f30113d96c">text</a>);</div>
<div class="line"><a name="l00138"></a><span class="lineno"> 138</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> strheight = <a class="code" href="group__tft.html#gaea9f6a88da91949befe52cd4ed000c5d">tft_font_height</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">font</a>);</div>
<div class="line"><a name="l00139"></a><span class="lineno"> 139</span>&#160;</div>
<div class="line"><a name="l00140"></a><span class="lineno"> 140</span>&#160; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>; <span class="comment">//At first we are interested in PEN_DOWN events</span></div>
<div class="line"><a name="l00141"></a><span class="lineno"> 141</span>&#160; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4b44f431c154678005298b0f0618cd37">callback</a> = <a class="code" href="button_8c.html#a7dca41e6afa418abaf2d471acac9b649">buttons_cb</a>; <span class="comment">//Use our own callback for the touch area events</span></div>
<div class="line"><a name="l00142"></a><span class="lineno"> 142</span>&#160;</div>
<div class="line"><a name="l00143"></a><span class="lineno"> 143</span>&#160; <span class="keywordflow">if</span> (button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> == <a class="code" href="group__button.html#ga0cc6f7717df9fbdc0f33efb88720a639">AUTO</a>) { <span class="comment">//The user wants us to calculate the button width automatically</span></div>
<div class="line"><a name="l00144"></a><span class="lineno"> 144</span>&#160; <span class="comment">//Use string width + half of a character width as button width</span></div>
<div class="line"><a name="l00145"></a><span class="lineno"> 145</span>&#160; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> = button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> - 1 + strwidth + (<a class="code" href="group__tft.html#ga7e99287b1e6b844f6867c63400959ffc">tft_font_width</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">font</a>) / 2);</div>
<div class="line"><a name="l00146"></a><span class="lineno"> 146</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1) &lt; (strwidth + 2)) { <span class="comment">//the provided width is too small to fit the entire text</span></div>
<div class="line"><a name="l00147"></a><span class="lineno"> 147</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">//report error</span></div>
<div class="line"><a name="l00148"></a><span class="lineno"> 148</span>&#160; }</div>
<div class="line"><a name="l00149"></a><span class="lineno"> 149</span>&#160;</div>
<div class="line"><a name="l00150"></a><span class="lineno"> 150</span>&#160; <span class="keywordflow">if</span> (button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> == <a class="code" href="group__button.html#ga0cc6f7717df9fbdc0f33efb88720a639">AUTO</a>) { <span class="comment">//The user wants us to calculate the button height automatically</span></div>
<div class="line"><a name="l00151"></a><span class="lineno"> 151</span>&#160; <span class="comment">//Use one and a half character heights as button height</span></div>
<div class="line"><a name="l00152"></a><span class="lineno"> 152</span>&#160; button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> = button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> - 1 + strheight + (strheight / 2);</div>
<div class="line"><a name="l00153"></a><span class="lineno"> 153</span>&#160; } <span class="keywordflow">else</span> <span class="keywordflow">if</span> ((button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1) &lt; (strheight + 2)) { <span class="comment">//the provided height is too small to fit the text</span></div>
<div class="line"><a name="l00154"></a><span class="lineno"> 154</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>;</div>
<div class="line"><a name="l00155"></a><span class="lineno"> 155</span>&#160; }</div>
<div class="line"><a name="l00156"></a><span class="lineno"> 156</span>&#160;</div>
<div class="line"><a name="l00157"></a><span class="lineno"> 157</span>&#160; <a class="code" href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1">gui_button_redraw</a>(button); <span class="comment">//call the redraw method, which will take care of drawing the entire button</span></div>
<div class="line"><a name="l00158"></a><span class="lineno"> 158</span>&#160; <span class="keywordflow">return</span> <a class="code" href="group__touch.html#ga3adc36f55b7475b3f652c38c0e23d741">touch_register_area</a>(&amp;button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>); <span class="comment">//Register the touch area and receive events for this button, from now on</span></div>
<div class="line"><a name="l00159"></a><span class="lineno"> 159</span>&#160; }</div>
<div class="line"><a name="l00160"></a><span class="lineno"> 160</span>&#160;</div>
<div class="line"><a name="l00161"></a><span class="lineno"> 161</span>&#160; <span class="keywordflow">return</span> <span class="keyword">false</span>; <span class="comment">//no more touch areas left</span></div>
<div class="line"><a name="l00162"></a><span class="lineno"> 162</span>&#160;}</div>
<div class="line"><a name="l00163"></a><span class="lineno"> 163</span>&#160;</div>
<div class="line"><a name="l00164"></a><span class="lineno"><a class="line" href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1"> 164</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1">gui_button_redraw</a>(<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button)</div>
<div class="line"><a name="l00165"></a><span class="lineno"> 165</span>&#160;{</div>
<div class="line"><a name="l00166"></a><span class="lineno"> 166</span>&#160; <span class="comment">//Calculate text dimensions and shadow colors</span></div>
<div class="line"><a name="l00167"></a><span class="lineno"> 167</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> strwidth = <a class="code" href="group__tft.html#ga7e99287b1e6b844f6867c63400959ffc">tft_font_width</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">font</a>) * strlen(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a16343090e80c4472521560f30113d96c">text</a>);</div>
<div class="line"><a name="l00168"></a><span class="lineno"> 168</span>&#160; <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span> strheight = <a class="code" href="group__tft.html#gaea9f6a88da91949befe52cd4ed000c5d">tft_font_height</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">font</a>);</div>
<div class="line"><a name="l00169"></a><span class="lineno"> 169</span>&#160; uint16_t c_light, c_dark;</div>
<div class="line"><a name="l00170"></a><span class="lineno"> 170</span>&#160; <a class="code" href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">bgcolor</a>, &amp;c_light, &amp;c_dark);</div>
<div class="line"><a name="l00171"></a><span class="lineno"> 171</span>&#160;</div>
<div class="line"><a name="l00172"></a><span class="lineno"> 172</span>&#160; <span class="comment">//Draw the background and the 4 lines (shadow colors)</span></div>
<div class="line"><a name="l00173"></a><span class="lineno"> 173</span>&#160; <a class="code" href="group__tft.html#ga781855ab93845ce326dfca7c099259c6">tft_fill_rectangle</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">bgcolor</a>);</div>
<div class="line"><a name="l00174"></a><span class="lineno"> 174</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a>, c_light); <span class="comment">//North</span></div>
<div class="line"><a name="l00175"></a><span class="lineno"> 175</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_light); <span class="comment">//West</span></div>
<div class="line"><a name="l00176"></a><span class="lineno"> 176</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a>, c_dark); <span class="comment">//South</span></div>
<div class="line"><a name="l00177"></a><span class="lineno"> 177</span>&#160; <a class="code" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, c_dark); <span class="comment">//East</span></div>
<div class="line"><a name="l00178"></a><span class="lineno"> 178</span>&#160;</div>
<div class="line"><a name="l00179"></a><span class="lineno"> 179</span>&#160; <span class="comment">//Draw the text</span></div>
<div class="line"><a name="l00180"></a><span class="lineno"> 180</span>&#160; <a class="code" href="group__tft.html#gabf54943131990b366ce6875a0e1925f6">tft_print_line</a>(button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + (button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1 - strwidth) / 2, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + (button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1 - strheight) / 2, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aaf5a5af411fa69950e0b4415c8089c8b">txtcolor</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">bgcolor</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">font</a>, button-&gt;<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a16343090e80c4472521560f30113d96c">text</a>);</div>
<div class="line"><a name="l00181"></a><span class="lineno"> 181</span>&#160;</div>
<div class="line"><a name="l00182"></a><span class="lineno"> 182</span>&#160;}</div>
<div class="line"><a name="l00183"></a><span class="lineno"> 183</span>&#160;</div>
<div class="line"><a name="l00184"></a><span class="lineno"><a class="line" href="group__button.html#ga39e6ec07616381a15f276cd821dad4fd"> 184</a></span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__button.html#ga39e6ec07616381a15f276cd821dad4fd">gui_button_remove</a>(<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button)</div>
<div class="line"><a name="l00185"></a><span class="lineno"> 185</span>&#160;{</div>
<div class="line"><a name="l00186"></a><span class="lineno"> 186</span>&#160; <span class="comment">//We only need to unregister the touch area, as we have not allocated anything else</span></div>
<div class="line"><a name="l00187"></a><span class="lineno"> 187</span>&#160; <a class="code" href="group__touch.html#gaa7d6cd569335d0ddfc9eeab479f3a0a8">touch_unregister_area</a>((<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>*)button);</div>
<div class="line"><a name="l00188"></a><span class="lineno"> 188</span>&#160;}</div>
<div class="ttc" id="group__touch_html_gab6037f32eebdf297a7d601a1e6c87768"><div class="ttname"><a href="group__touch.html#gab6037f32eebdf297a7d601a1e6c87768">TOUCH_ACTION</a></div><div class="ttdeci">TOUCH_ACTION</div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00052">touch.h:52</a></div></div>
<div class="ttc" id="group__tft_html_gaea9f6a88da91949befe52cd4ed000c5d"><div class="ttname"><a href="group__tft.html#gaea9f6a88da91949befe52cd4ed000c5d">tft_font_height</a></div><div class="ttdeci">uint8_t tft_font_height(uint8_t fontnum)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00087">tft.c:87</a></div></div>
<div class="ttc" id="group__touch_html_ga3adc36f55b7475b3f652c38c0e23d741"><div class="ttname"><a href="group__touch.html#ga3adc36f55b7475b3f652c38c0e23d741">touch_register_area</a></div><div class="ttdeci">bool touch_register_area(TOUCH_AREA_STRUCT *area)</div><div class="ttdef"><b>Definition:</b> <a href="touch_8c_source.html#l00181">touch.c:181</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_a16343090e80c4472521560f30113d96c"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a16343090e80c4472521560f30113d96c">BUTTON_STRUCT::text</a></div><div class="ttdeci">const char * text</div><div class="ttdoc">The label of the button. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00061">button.h:61</a></div></div>
<div class="ttc" id="group__tft_html_ga7e99287b1e6b844f6867c63400959ffc"><div class="ttname"><a href="group__tft.html#ga7e99287b1e6b844f6867c63400959ffc">tft_font_width</a></div><div class="ttdeci">uint8_t tft_font_width(uint8_t fontnum)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00092">tft.c:92</a></div></div>
<div class="ttc" id="group__button_html_ga6da1e251bad09d29fbb3b3f405689ab1"><div class="ttname"><a href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1">gui_button_redraw</a></div><div class="ttdeci">void gui_button_redraw(BUTTON_STRUCT *button)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00164">button.c:164</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_aaf5a5af411fa69950e0b4415c8089c8b"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aaf5a5af411fa69950e0b4415c8089c8b">BUTTON_STRUCT::txtcolor</a></div><div class="ttdeci">uint16_t txtcolor</div><div class="ttdoc">The 16-bit text color. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00059">button.h:59</a></div></div>
<div class="ttc" id="group__button_html_ga0cc6f7717df9fbdc0f33efb88720a639"><div class="ttname"><a href="group__button.html#ga0cc6f7717df9fbdc0f33efb88720a639">AUTO</a></div><div class="ttdeci">#define AUTO</div><div class="ttdoc">Use this value instead of x2, y2 in the BUTTON_STRUCT to autocalculate the button width/height...</div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00065">button.h:65</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a></div><div class="ttdoc">Receive an event when the pen goes down inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00054">touch.h:54</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a></div><div class="ttdoc">Receive an event when the pen goes up inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00055">touch.h:55</a></div></div>
<div class="ttc" id="group__tft_html_ga5022f91ea04919e698a79c0c309ba6f8"><div class="ttname"><a href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8">tft_draw_line</a></div><div class="ttdeci">void tft_draw_line(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00050">tft.c:50</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a47ada631c22a9d40348069145654f255"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">TOUCH_AREA_STRUCT::y1</a></div><div class="ttdeci">uint16_t y1</div><div class="ttdoc">Top Left Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00075">touch.h:75</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00055">button.h:55</a></div></div>
<div class="ttc" id="group__button_html_ga64d5d2aaff2c917e5d43e7ed849607de"><div class="ttname"><a href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de">gui_button_add</a></div><div class="ttdeci">bool gui_button_add(BUTTON_STRUCT *button)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00133">button.c:133</a></div></div>
<div class="ttc" id="group__tft_html_gabf54943131990b366ce6875a0e1925f6"><div class="ttname"><a href="group__tft.html#gabf54943131990b366ce6875a0e1925f6">tft_print_line</a></div><div class="ttdeci">void tft_print_line(uint16_t x, uint16_t y, uint16_t color, uint16_t bgcolor, uint8_t font, const char *text)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00098">tft.c:98</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aedb5fdfe3c1d1a915b668ba7f3950753"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">TOUCH_AREA_STRUCT::x1</a></div><div class="ttdeci">uint16_t x1</div><div class="ttdoc">Top Left X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00074">touch.h:74</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_aebb27fad2492ea7aa81895d0ede61fcf"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">BUTTON_STRUCT::bgcolor</a></div><div class="ttdeci">uint16_t bgcolor</div><div class="ttdoc">The 16-bit background color of the button. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00057">button.h:57</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_adf10d197299522577e67d366877bdd3f"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">BUTTON_STRUCT::base</a></div><div class="ttdeci">TOUCH_AREA_STRUCT base</div><div class="ttdoc">Basic geometry of the button. You only need to set the x1, y1, x2, y2 members of this struct...</div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00056">button.h:56</a></div></div>
<div class="ttc" id="group__touch_html_gaa7d6cd569335d0ddfc9eeab479f3a0a8"><div class="ttname"><a href="group__touch.html#gaa7d6cd569335d0ddfc9eeab479f3a0a8">touch_unregister_area</a></div><div class="ttdeci">void touch_unregister_area(TOUCH_AREA_STRUCT *area)</div><div class="ttdef"><b>Definition:</b> <a href="touch_8c_source.html#l00195">touch.c:195</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00072">touch.h:72</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aa377184ba406b3f0c4ac18c935378204"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">TOUCH_AREA_STRUCT::y2</a></div><div class="ttdeci">uint16_t y2</div><div class="ttdoc">Bottom Right Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00077">touch.h:77</a></div></div>
<div class="ttc" id="button_8c_html_a7dca41e6afa418abaf2d471acac9b649"><div class="ttname"><a href="button_8c.html#a7dca41e6afa418abaf2d471acac9b649">buttons_cb</a></div><div class="ttdeci">void buttons_cb(void *touchArea, TOUCH_ACTION triggeredAction)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00092">button.c:92</a></div></div>
<div class="ttc" id="button_8h_html"><div class="ttname"><a href="button_8h.html">button.h</a></div></div>
<div class="ttc" id="tft_8h_html"><div class="ttname"><a href="tft_8h.html">tft.h</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a4b44f431c154678005298b0f0618cd37"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4b44f431c154678005298b0f0618cd37">TOUCH_AREA_STRUCT::callback</a></div><div class="ttdeci">TOUCH_CALLBACK callback</div><div class="ttdoc">Callback which is executed when an event occurred in this Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00078">touch.h:78</a></div></div>
<div class="ttc" id="touch_8h_html"><div class="ttname"><a href="touch_8h.html">touch.h</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_ac5bc000f8954f38b7a641a485a26bae7"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">TOUCH_AREA_STRUCT::x2</a></div><div class="ttdeci">uint16_t x2</div><div class="ttdoc">Bottom Right X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00076">touch.h:76</a></div></div>
<div class="ttc" id="group__button_html_ga39e6ec07616381a15f276cd821dad4fd"><div class="ttname"><a href="group__button.html#ga39e6ec07616381a15f276cd821dad4fd">gui_button_remove</a></div><div class="ttdeci">void gui_button_remove(BUTTON_STRUCT *button)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00184">button.c:184</a></div></div>
<div class="ttc" id="button_8c_html_a05bb88dac6f60063eae2bb67dda1f4e8"><div class="ttname"><a href="button_8c.html#a05bb88dac6f60063eae2bb67dda1f4e8">calculate_shadows</a></div><div class="ttdeci">void calculate_shadows(uint16_t bgcolor, uint16_t *light_shadow, uint16_t *dark_shadow)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00034">button.c:34</a></div></div>
<div class="ttc" id="group__tft_html_ga781855ab93845ce326dfca7c099259c6"><div class="ttname"><a href="group__tft.html#ga781855ab93845ce326dfca7c099259c6">tft_fill_rectangle</a></div><div class="ttdeci">void tft_fill_rectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00067">tft.c:67</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a4026095999c2fd7a91f9bb91390647a4"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">TOUCH_AREA_STRUCT::hookedActions</a></div><div class="ttdeci">TOUCH_ACTION hookedActions</div><div class="ttdoc">Actions to listen to. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00073">touch.h:73</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_a269d23c8a60f8acdf9279642999ee6a9"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">BUTTON_STRUCT::callback</a></div><div class="ttdeci">BUTTON_CALLBACK callback</div><div class="ttdoc">Callback which is executed when the button is pressed. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00058">button.h:58</a></div></div>
<div class="ttc" id="group__touch_html_gad32e5d122ec3f5f88bc6b2d9f4a629f8"><div class="ttname"><a href="group__touch.html#gad32e5d122ec3f5f88bc6b2d9f4a629f8">touch_have_empty</a></div><div class="ttdeci">bool touch_have_empty(unsigned char num)</div><div class="ttdef"><b>Definition:</b> <a href="touch_8c_source.html#l00165">touch.c:165</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_adeae49dfe3584e6df726fb4167cd1cf7"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">BUTTON_STRUCT::font</a></div><div class="ttdeci">uint8_t font</div><div class="ttdoc">The number of the font to use. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00060">button.h:60</a></div></div>
<div class="ttc" id="button_8c_html_a30147bc6062a23d99a2fd58b45adfb82"><div class="ttname"><a href="button_8c.html#a30147bc6062a23d99a2fd58b45adfb82">BRIGHTNESS_VAL</a></div><div class="ttdeci">#define BRIGHTNESS_VAL</div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a></div><div class="ttdoc">Receive an event when the pen leaves the region (pen was inside region before) </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00057">touch.h:57</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-148
View File
@@ -1,148 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/gui/button.h File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_ad7e3681fbb6f77d8ce503c4a3117735.html">gui</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">button.h File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="touch_8h_source.html">touch.h</a>&quot;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for button.h:</div>
<div class="dyncontent">
<div class="center"><img src="button_8h__incl.png" border="0" usemap="#common_2gui_2button_8h" alt=""/></div>
<map name="common_2gui_2button_8h" id="common_2gui_2button_8h">
<area shape="rect" id="node2" href="touch_8h.html" title="touch.h" alt="" coords="57,80,122,107"/></map>
</div>
</div><div class="textblock"><div class="dynheader">
This graph shows which files directly or indirectly include this file:</div>
<div class="dyncontent">
<div class="center"><img src="button_8h__dep__incl.png" border="0" usemap="#common_2gui_2button_8hdep" alt=""/></div>
<map name="common_2gui_2button_8hdep" id="common_2gui_2button_8hdep">
<area shape="rect" id="node2" href="screen__filetest_8c.html" title="common/app/screen_filetest.c" alt="" coords="5,87,201,114"/><area shape="rect" id="node3" href="screen__guitest_8c.html" title="common/app/screen_guitest.c" alt="" coords="91,169,289,196"/><area shape="rect" id="node4" href="screen__main_8c.html" title="common/app/screen_main.c" alt="" coords="581,87,767,114"/><area shape="rect" id="node5" href="screen__photomode_8c.html" title="common/app/screen_photomode.c" alt="" coords="792,87,1015,114"/><area shape="rect" id="node6" href="screen__photomode__save_8c.html" title="common/app/screen_photomode\l_save.c" alt="" coords="1038,80,1249,121"/><area shape="rect" id="node7" href="screen__pixytest_8c.html" title="common/app/screen_pixytest.c" alt="" coords="313,169,517,196"/><area shape="rect" id="node8" href="screen__tracking_8c.html" title="common/app/screen_tracking.c" alt="" coords="1273,87,1477,114"/><area shape="rect" id="node9" href="button_8c.html" title="common/gui/button.c" alt="" coords="1502,87,1646,114"/><area shape="rect" id="node10" href="numupdown_8c.html" title="common/gui/numupdown.c" alt="" coords="541,169,719,196"/><area shape="rect" id="node11" href="numupdown_8h.html" title="common/gui/numupdown.h" alt="" coords="277,87,455,114"/></map>
</div>
</div>
<p><a href="button_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga0cc6f7717df9fbdc0f33efb88720a639"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga0cc6f7717df9fbdc0f33efb88720a639">AUTO</a>&#160;&#160;&#160;0</td></tr>
<tr class="memdesc:ga0cc6f7717df9fbdc0f33efb88720a639"><td class="mdescLeft">&#160;</td><td class="mdescRight">Use this value instead of x2, y2 in the <a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a> to autocalculate the button width/height. <a href="group__button.html#ga0cc6f7717df9fbdc0f33efb88720a639">More...</a><br /></td></tr>
<tr class="separator:ga0cc6f7717df9fbdc0f33efb88720a639"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga2bb66de608267d70a8cc4df574cda2a2"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga2bb66de608267d70a8cc4df574cda2a2">BUTTON_CALLBACK</a>) (void *button)</td></tr>
<tr class="separator:ga2bb66de608267d70a8cc4df574cda2a2"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga64d5d2aaff2c917e5d43e7ed849607de"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de">gui_button_add</a> (<a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a> *button)</td></tr>
<tr class="separator:ga64d5d2aaff2c917e5d43e7ed849607de"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga39e6ec07616381a15f276cd821dad4fd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga39e6ec07616381a15f276cd821dad4fd">gui_button_remove</a> (<a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a> *button)</td></tr>
<tr class="separator:ga39e6ec07616381a15f276cd821dad4fd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6da1e251bad09d29fbb3b3f405689ab1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1">gui_button_redraw</a> (<a class="el" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a> *button)</td></tr>
<tr class="separator:ga6da1e251bad09d29fbb3b3f405689ab1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-12
View File
@@ -1,12 +0,0 @@
<map id="common/gui/button.h" name="common/gui/button.h">
<area shape="rect" id="node2" href="$screen__filetest_8c.html" title="common/app/screen_filetest.c" alt="" coords="5,87,201,114"/>
<area shape="rect" id="node3" href="$screen__guitest_8c.html" title="common/app/screen_guitest.c" alt="" coords="91,169,289,196"/>
<area shape="rect" id="node4" href="$screen__main_8c.html" title="common/app/screen_main.c" alt="" coords="581,87,767,114"/>
<area shape="rect" id="node5" href="$screen__photomode_8c.html" title="common/app/screen_photomode.c" alt="" coords="792,87,1015,114"/>
<area shape="rect" id="node6" href="$screen__photomode__save_8c.html" title="common/app/screen_photomode\l_save.c" alt="" coords="1038,80,1249,121"/>
<area shape="rect" id="node7" href="$screen__pixytest_8c.html" title="common/app/screen_pixytest.c" alt="" coords="313,169,517,196"/>
<area shape="rect" id="node8" href="$screen__tracking_8c.html" title="common/app/screen_tracking.c" alt="" coords="1273,87,1477,114"/>
<area shape="rect" id="node9" href="$button_8c.html" title="common/gui/button.c" alt="" coords="1502,87,1646,114"/>
<area shape="rect" id="node10" href="$numupdown_8c.html" title="common/gui/numupdown.c" alt="" coords="541,169,719,196"/>
<area shape="rect" id="node11" href="$numupdown_8h.html" title="common/gui/numupdown.h" alt="" coords="277,87,455,114"/>
</map>
-1
View File
@@ -1 +0,0 @@
1049ed92a4b13175555c93a7a6a03ef3
Binary file not shown.

Before

Width:  |  Height:  |  Size: 36 KiB

-3
View File
@@ -1,3 +0,0 @@
<map id="common/gui/button.h" name="common/gui/button.h">
<area shape="rect" id="node2" href="$touch_8h.html" title="touch.h" alt="" coords="57,80,122,107"/>
</map>
-1
View File
@@ -1 +0,0 @@
ca2fda4cef8073c5167b0dba7945ea7d
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

@@ -1,3 +0,0 @@
<map id="gui_button_remove" name="gui_button_remove">
<area shape="rect" id="node2" href="$group__touch.html#gaa7d6cd569335d0ddfc9eeab479f3a0a8" title="touch_unregister_area" alt="" coords="184,5,335,32"/>
</map>
@@ -1 +0,0 @@
da14addc5d25976014fb879401a5dc4f
Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

@@ -1,5 +0,0 @@
<map id="gui_button_remove" name="gui_button_remove">
<area shape="rect" id="node2" href="$screen__filetest_8c.html#acd1409088e83cf2a8ba2cf96dd9b52f8" title="leave" alt="" coords="240,5,291,32"/>
<area shape="rect" id="node3" href="$numupdown_8h.html#a9470a5c6f0ffbbda7c56e1b8a59f4b97" title="gui_numupdown_remove" alt="" coords="184,56,347,83"/>
<area shape="rect" id="node4" href="$screen__guitest_8c.html#acd1409088e83cf2a8ba2cf96dd9b52f8" title="leave" alt="" coords="395,56,445,83"/>
</map>
@@ -1 +0,0 @@
171522c0dd034e50b58066996c9c8ac0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.6 KiB

@@ -1,17 +0,0 @@
<map id="gui_button_add" name="gui_button_add">
<area shape="rect" id="node2" href="$group__touch.html#gad32e5d122ec3f5f88bc6b2d9f4a629f8" title="touch_have_empty" alt="" coords="167,5,297,32"/>
<area shape="rect" id="node3" href="$group__tft.html#ga7e99287b1e6b844f6867c63400959ffc" title="tft_font_width" alt="" coords="355,107,453,133"/>
<area shape="rect" id="node5" href="$group__tft.html#gaea9f6a88da91949befe52cd4ed000c5d" title="tft_font_height" alt="" coords="353,56,455,83"/>
<area shape="rect" id="node7" href="$button_8c.html#a7dca41e6afa418abaf2d471acac9b649" title="buttons_cb" alt="" coords="189,208,275,235"/>
<area shape="rect" id="node10" href="$button_8c.html#a6da1e251bad09d29fbb3b3f405689ab1" title="gui_button_redraw" alt="" coords="169,157,295,184"/>
<area shape="rect" id="node16" href="$group__touch.html#ga3adc36f55b7475b3f652c38c0e23d741" title="touch_register_area" alt="" coords="164,259,300,285"/>
<area shape="rect" id="node4" href="$ll__tft_8h.html#a3639ec94b2239cc02b3c47a14f6637a3" title="ll_tft_font_width" alt="" coords="515,107,626,133"/>
<area shape="rect" id="node6" href="$ll__tft_8h.html#a8dbc8b40717be527e6f1c5a2cfc72aeb" title="ll_tft_font_height" alt="" coords="513,56,629,83"/>
<area shape="rect" id="node8" href="$group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8" title="tft_draw_line" alt="" coords="357,259,451,285"/>
<area shape="rect" id="node9" href="$ll__tft_8h.html#a2560737bf118275e6ce728f6dce1e83f" title="ll_tft_draw_line" alt="" coords="517,309,624,336"/>
<area shape="rect" id="node11" href="$group__tft.html#ga781855ab93845ce326dfca7c099259c6" title="tft_fill_rectangle" alt="" coords="348,208,460,235"/>
<area shape="rect" id="node13" href="$group__tft.html#gabf54943131990b366ce6875a0e1925f6" title="tft_print_line" alt="" coords="358,157,450,184"/>
<area shape="rect" id="node12" href="$ll__tft_8h.html#a0111ae5623214d3d466b2b24598f303f" title="ll_tft_fill_rectangle" alt="" coords="508,259,633,285"/>
<area shape="rect" id="node14" href="$ll__tft_8h.html#af4b0b73ab01e1dc300ae65dc0ac029b6" title="ll_tft_num_fonts" alt="" coords="514,157,627,184"/>
<area shape="rect" id="node15" href="$ll__tft_8h.html#a408570a2b70769255924792ce189f2c1" title="ll_tft_draw_char" alt="" coords="515,208,627,235"/>
</map>
@@ -1 +0,0 @@
501f0964b2d897f6f127343360227d1b
Binary file not shown.

Before

Width:  |  Height:  |  Size: 34 KiB

@@ -1,5 +0,0 @@
<map id="gui_button_add" name="gui_button_add">
<area shape="rect" id="node2" href="$screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="210,5,261,32"/>
<area shape="rect" id="node3" href="$numupdown_8h.html#ab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="164,56,307,83"/>
<area shape="rect" id="node4" href="$screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="355,56,405,83"/>
</map>
@@ -1 +0,0 @@
5eb867e7a47de4a090964b666f4680e0
Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

@@ -1,13 +0,0 @@
<map id="gui_button_redraw" name="gui_button_redraw">
<area shape="rect" id="node2" href="$group__tft.html#ga7e99287b1e6b844f6867c63400959ffc" title="tft_font_width" alt="" coords="187,157,285,184"/>
<area shape="rect" id="node4" href="$group__tft.html#gaea9f6a88da91949befe52cd4ed000c5d" title="tft_font_height" alt="" coords="185,5,287,32"/>
<area shape="rect" id="node6" href="$group__tft.html#ga781855ab93845ce326dfca7c099259c6" title="tft_fill_rectangle" alt="" coords="180,56,292,83"/>
<area shape="rect" id="node8" href="$group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8" title="tft_draw_line" alt="" coords="189,107,283,133"/>
<area shape="rect" id="node10" href="$group__tft.html#gabf54943131990b366ce6875a0e1925f6" title="tft_print_line" alt="" coords="190,208,282,235"/>
<area shape="rect" id="node3" href="$ll__tft_8h.html#a3639ec94b2239cc02b3c47a14f6637a3" title="ll_tft_font_width" alt="" coords="347,157,458,184"/>
<area shape="rect" id="node5" href="$ll__tft_8h.html#a8dbc8b40717be527e6f1c5a2cfc72aeb" title="ll_tft_font_height" alt="" coords="345,5,461,32"/>
<area shape="rect" id="node7" href="$ll__tft_8h.html#a0111ae5623214d3d466b2b24598f303f" title="ll_tft_fill_rectangle" alt="" coords="340,56,465,83"/>
<area shape="rect" id="node9" href="$ll__tft_8h.html#a2560737bf118275e6ce728f6dce1e83f" title="ll_tft_draw_line" alt="" coords="349,107,456,133"/>
<area shape="rect" id="node11" href="$ll__tft_8h.html#af4b0b73ab01e1dc300ae65dc0ac029b6" title="ll_tft_num_fonts" alt="" coords="346,208,459,235"/>
<area shape="rect" id="node12" href="$ll__tft_8h.html#a408570a2b70769255924792ce189f2c1" title="ll_tft_draw_char" alt="" coords="347,259,459,285"/>
</map>
@@ -1 +0,0 @@
62af657bd44864683ba0e6290633b87d
Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

@@ -1,7 +0,0 @@
<map id="gui_button_redraw" name="gui_button_redraw">
<area shape="rect" id="node2" href="$button_8h.html#a64d5d2aaff2c917e5d43e7ed849607de" title="gui_button_add" alt="" coords="205,31,315,57"/>
<area shape="rect" id="node6" href="$numupdown_8h.html#a4ee98a6c6af451123af6c464a851c03a" title="gui_numupdown_redraw" alt="" coords="180,81,340,108"/>
<area shape="rect" id="node3" href="$screen__filetest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="434,5,485,32"/>
<area shape="rect" id="node4" href="$numupdown_8h.html#ab4321e7fc0810ee30355bc7d0a3372db" title="gui_numupdown_add" alt="" coords="388,56,531,83"/>
<area shape="rect" id="node5" href="$screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="579,56,629,83"/>
</map>
@@ -1 +0,0 @@
ec404d9175bb6206944d0aa18215b2db
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

-164
View File
@@ -1,164 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/gui/button.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_ad7e3681fbb6f77d8ce503c4a3117735.html">gui</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="headertitle">
<div class="title">button.h</div> </div>
</div><!--header-->
<div class="contents">
<a href="button_8h.html">Go to the documentation of this file.</a><div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno"> 1</span>&#160;<span class="comment">/**************************************************************************************************************************************</span></div>
<div class="line"><a name="l00002"></a><span class="lineno"> 2</span>&#160;<span class="comment">* Project: discoverpixy</span></div>
<div class="line"><a name="l00003"></a><span class="lineno"> 3</span>&#160;<span class="comment">* Website: https://github.com/t-moe/discoverpixy</span></div>
<div class="line"><a name="l00004"></a><span class="lineno"> 4</span>&#160;<span class="comment">* Authors: Aaron Schmocker, Timo Lang</span></div>
<div class="line"><a name="l00005"></a><span class="lineno"> 5</span>&#160;<span class="comment">* Institution: BFH Bern University of Applied Sciences</span></div>
<div class="line"><a name="l00006"></a><span class="lineno"> 6</span>&#160;<span class="comment">* File: common/gui/button.h</span></div>
<div class="line"><a name="l00007"></a><span class="lineno"> 7</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00008"></a><span class="lineno"> 8</span>&#160;<span class="comment">* Version History:</span></div>
<div class="line"><a name="l00009"></a><span class="lineno"> 9</span>&#160;<span class="comment">* Date Autor Email SHA Changes</span></div>
<div class="line"><a name="l00010"></a><span class="lineno"> 10</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com 7c9eabc Added button support.</span></div>
<div class="line"><a name="l00011"></a><span class="lineno"> 11</span>&#160;<span class="comment">* 2015-04-27 timolang@gmail.com cf72baa Introduced a Screen (sub) module and divided app into multiple screens.</span></div>
<div class="line"><a name="l00012"></a><span class="lineno"> 12</span>&#160;<span class="comment">* 2015-05-11 timolang@gmail.com 08d9fe0 More work on doxygen module structure</span></div>
<div class="line"><a name="l00013"></a><span class="lineno"> 13</span>&#160;<span class="comment">* 2015-05-12 timolang@gmail.com 1402598 Added doxygen stuff for button module and some minor changes to touch, screen_main and tft module.</span></div>
<div class="line"><a name="l00014"></a><span class="lineno"> 14</span>&#160;<span class="comment">* 2015-05-15 timolang@gmail.com 9a16865 Added doxgen comments to filesyste, checkbox, numupdown and screen module. And some minor changes to the other modules.</span></div>
<div class="line"><a name="l00015"></a><span class="lineno"> 15</span>&#160;<span class="comment">* 2015-05-17 timolang@gmail.com 2d46336 Improved comments in implementation of button, checkbox, numupdown, tft, touch and screen modules/submodules.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno"> 16</span>&#160;<span class="comment">*</span></div>
<div class="line"><a name="l00017"></a><span class="lineno"> 17</span>&#160;<span class="comment">**************************************************************************************************************************************/</span></div>
<div class="line"><a name="l00018"></a><span class="lineno"> 18</span>&#160;</div>
<div class="line"><a name="l00019"></a><span class="lineno"> 19</span>&#160;<span class="preprocessor">#ifndef BUTTON_H</span></div>
<div class="line"><a name="l00020"></a><span class="lineno"> 20</span>&#160;<span class="preprocessor">#define BUTTON_H</span></div>
<div class="line"><a name="l00021"></a><span class="lineno"> 21</span>&#160;</div>
<div class="line"><a name="l00022"></a><span class="lineno"> 22</span>&#160;<span class="preprocessor">#include &quot;<a class="code" href="touch_8h.html">touch.h</a>&quot;</span></div>
<div class="line"><a name="l00023"></a><span class="lineno"> 23</span>&#160;</div>
<div class="line"><a name="l00029"></a><span class="lineno"> 29</span>&#160;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160;</div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160;</div>
<div class="line"><a name="l00049"></a><span class="lineno"><a class="line" href="group__button.html#ga2bb66de608267d70a8cc4df574cda2a2"> 49</a></span>&#160;<span class="keyword">typedef</span> void (*<a class="code" href="group__button.html#ga2bb66de608267d70a8cc4df574cda2a2">BUTTON_CALLBACK</a>)(<span class="keywordtype">void</span>* button);</div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160;</div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00055"></a><span class="lineno"><a class="line" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html"> 55</a></span>&#160;<span class="keyword">typedef</span> <span class="keyword">struct </span>{</div>
<div class="line"><a name="l00056"></a><span class="lineno"><a class="line" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f"> 56</a></span>&#160; <a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a> <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>; </div>
<div class="line"><a name="l00057"></a><span class="lineno"><a class="line" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf"> 57</a></span>&#160; uint16_t <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">bgcolor</a>; </div>
<div class="line"><a name="l00058"></a><span class="lineno"><a class="line" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9"> 58</a></span>&#160; <a class="code" href="group__button.html#ga2bb66de608267d70a8cc4df574cda2a2">BUTTON_CALLBACK</a> <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">callback</a>; </div>
<div class="line"><a name="l00059"></a><span class="lineno"><a class="line" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aaf5a5af411fa69950e0b4415c8089c8b"> 59</a></span>&#160; uint16_t <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aaf5a5af411fa69950e0b4415c8089c8b">txtcolor</a>; </div>
<div class="line"><a name="l00060"></a><span class="lineno"><a class="line" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7"> 60</a></span>&#160; uint8_t <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">font</a>; </div>
<div class="line"><a name="l00061"></a><span class="lineno"><a class="line" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a16343090e80c4472521560f30113d96c"> 61</a></span>&#160; <span class="keyword">const</span> <span class="keywordtype">char</span>* <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a16343090e80c4472521560f30113d96c">text</a>; </div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160;} <a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>;</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"><a class="line" href="group__button.html#ga0cc6f7717df9fbdc0f33efb88720a639"> 65</a></span>&#160;<span class="preprocessor">#define AUTO 0 </span></div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160;<span class="preprocessor"></span></div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160;</div>
<div class="line"><a name="l00072"></a><span class="lineno"> 72</span>&#160;<span class="keywordtype">bool</span> <a class="code" href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de">gui_button_add</a>(<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button);</div>
<div class="line"><a name="l00073"></a><span class="lineno"> 73</span>&#160;</div>
<div class="line"><a name="l00078"></a><span class="lineno"> 78</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__button.html#ga39e6ec07616381a15f276cd821dad4fd">gui_button_remove</a>(<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button);</div>
<div class="line"><a name="l00079"></a><span class="lineno"> 79</span>&#160;</div>
<div class="line"><a name="l00084"></a><span class="lineno"> 84</span>&#160;<span class="keywordtype">void</span> <a class="code" href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1">gui_button_redraw</a>(<a class="code" href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a>* button);</div>
<div class="line"><a name="l00085"></a><span class="lineno"> 85</span>&#160;</div>
<div class="line"><a name="l00086"></a><span class="lineno"> 86</span>&#160;</div>
<div class="line"><a name="l00089"></a><span class="lineno"> 89</span>&#160;<span class="preprocessor">#endif </span><span class="comment">/* BUTTON_H */</span><span class="preprocessor"></span></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_a16343090e80c4472521560f30113d96c"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a16343090e80c4472521560f30113d96c">BUTTON_STRUCT::text</a></div><div class="ttdeci">const char * text</div><div class="ttdoc">The label of the button. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00061">button.h:61</a></div></div>
<div class="ttc" id="group__button_html_ga6da1e251bad09d29fbb3b3f405689ab1"><div class="ttname"><a href="group__button.html#ga6da1e251bad09d29fbb3b3f405689ab1">gui_button_redraw</a></div><div class="ttdeci">void gui_button_redraw(BUTTON_STRUCT *button)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00164">button.c:164</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_aaf5a5af411fa69950e0b4415c8089c8b"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aaf5a5af411fa69950e0b4415c8089c8b">BUTTON_STRUCT::txtcolor</a></div><div class="ttdeci">uint16_t txtcolor</div><div class="ttdoc">The 16-bit text color. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00059">button.h:59</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html">BUTTON_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00055">button.h:55</a></div></div>
<div class="ttc" id="group__button_html_ga64d5d2aaff2c917e5d43e7ed849607de"><div class="ttname"><a href="group__button.html#ga64d5d2aaff2c917e5d43e7ed849607de">gui_button_add</a></div><div class="ttdeci">bool gui_button_add(BUTTON_STRUCT *button)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00133">button.c:133</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_aebb27fad2492ea7aa81895d0ede61fcf"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#aebb27fad2492ea7aa81895d0ede61fcf">BUTTON_STRUCT::bgcolor</a></div><div class="ttdeci">uint16_t bgcolor</div><div class="ttdoc">The 16-bit background color of the button. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00057">button.h:57</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_adf10d197299522577e67d366877bdd3f"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">BUTTON_STRUCT::base</a></div><div class="ttdeci">TOUCH_AREA_STRUCT base</div><div class="ttdoc">Basic geometry of the button. You only need to set the x1, y1, x2, y2 members of this struct...</div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00056">button.h:56</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00072">touch.h:72</a></div></div>
<div class="ttc" id="touch_8h_html"><div class="ttname"><a href="touch_8h.html">touch.h</a></div></div>
<div class="ttc" id="group__button_html_ga39e6ec07616381a15f276cd821dad4fd"><div class="ttname"><a href="group__button.html#ga39e6ec07616381a15f276cd821dad4fd">gui_button_remove</a></div><div class="ttdeci">void gui_button_remove(BUTTON_STRUCT *button)</div><div class="ttdef"><b>Definition:</b> <a href="button_8c_source.html#l00184">button.c:184</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_a269d23c8a60f8acdf9279642999ee6a9"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#a269d23c8a60f8acdf9279642999ee6a9">BUTTON_STRUCT::callback</a></div><div class="ttdeci">BUTTON_CALLBACK callback</div><div class="ttdoc">Callback which is executed when the button is pressed. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00058">button.h:58</a></div></div>
<div class="ttc" id="struct_b_u_t_t_o_n___s_t_r_u_c_t_html_adeae49dfe3584e6df726fb4167cd1cf7"><div class="ttname"><a href="struct_b_u_t_t_o_n___s_t_r_u_c_t.html#adeae49dfe3584e6df726fb4167cd1cf7">BUTTON_STRUCT::font</a></div><div class="ttdeci">uint8_t font</div><div class="ttdoc">The number of the font to use. </div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00060">button.h:60</a></div></div>
<div class="ttc" id="group__button_html_ga2bb66de608267d70a8cc4df574cda2a2"><div class="ttname"><a href="group__button.html#ga2bb66de608267d70a8cc4df574cda2a2">BUTTON_CALLBACK</a></div><div class="ttdeci">void(* BUTTON_CALLBACK)(void *button)</div><div class="ttdef"><b>Definition:</b> <a href="button_8h_source.html#l00049">button.h:49</a></div></div>
</div><!-- fragment --></div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>
-280
View File
@@ -1,280 +0,0 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.9.1"/>
<title>discoverpixy: common/gui/checkbox.c File Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
$(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">discoverpixy
</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.9.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<div id="navrow1" class="tabs">
<ul class="tablist">
<li><a href="index.html"><span>Main&#160;Page</span></a></li>
<li><a href="modules.html"><span>Modules</span></a></li>
<li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
<li class="current"><a href="files.html"><span>Files</span></a></li>
<li>
<div id="MSearchBox" class="MSearchBoxInactive">
<span class="left">
<img id="MSearchSelect" src="search/mag_sel.png"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
alt=""/>
<input type="text" id="MSearchField" value="Search" accesskey="S"
onfocus="searchBox.OnSearchFieldFocus(true)"
onblur="searchBox.OnSearchFieldFocus(false)"
onkeyup="searchBox.OnSearchFieldChange(event)"/>
</span><span class="right">
<a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
</span>
</div>
</li>
</ul>
</div>
<div id="navrow2" class="tabs2">
<ul class="tablist">
<li><a href="files.html"><span>File&#160;List</span></a></li>
<li><a href="globals.html"><span>Globals</span></a></li>
</ul>
</div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
onmouseover="return searchBox.OnSearchSelectShow()"
onmouseout="return searchBox.OnSearchSelectHide()"
onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>
<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0"
name="MSearchResults" id="MSearchResults">
</iframe>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><a class="el" href="dir_bdd9a5d540de89e9fe90efdfc6973a4f.html">common</a></li><li class="navelem"><a class="el" href="dir_ad7e3681fbb6f77d8ce503c4a3117735.html">gui</a></li> </ul>
</div>
</div><!-- top -->
<div class="header">
<div class="summary">
<a href="#define-members">Macros</a> &#124;
<a href="#func-members">Functions</a> </div>
<div class="headertitle">
<div class="title">checkbox.c File Reference</div> </div>
</div><!--header-->
<div class="contents">
<div class="textblock"><code>#include &quot;<a class="el" href="tft_8h_source.html">tft.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="touch_8h_source.html">touch.h</a>&quot;</code><br />
<code>#include &quot;<a class="el" href="checkbox_8h_source.html">checkbox.h</a>&quot;</code><br />
<code>#include &lt;stdio.h&gt;</code><br />
</div><div class="textblock"><div class="dynheader">
Include dependency graph for checkbox.c:</div>
<div class="dyncontent">
<div class="center"><img src="checkbox_8c__incl.png" border="0" usemap="#common_2gui_2checkbox_8c" alt=""/></div>
<map name="common_2gui_2checkbox_8c" id="common_2gui_2checkbox_8c">
<area shape="rect" id="node2" href="tft_8h.html" title="tft.h" alt="" coords="25,155,69,181"/><area shape="rect" id="node5" href="touch_8h.html" title="touch.h" alt="" coords="101,155,166,181"/><area shape="rect" id="node6" href="checkbox_8h.html" title="checkbox.h" alt="" coords="135,80,225,107"/></map>
</div>
</div>
<p><a href="checkbox_8c_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:af8522152b2c0ef38991d293c5b158daf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="checkbox_8c.html#af8522152b2c0ef38991d293c5b158daf">ACTIVE_COLOR</a>&#160;&#160;&#160;<a class="el" href="group__tft.html#ga4a118ad3ee36468a3fa616977a64864e">RGB</a>(251,208,123)</td></tr>
<tr class="separator:af8522152b2c0ef38991d293c5b158daf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a966901ace2cf6cba3fc9cec310150860"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="checkbox_8c.html#a966901ace2cf6cba3fc9cec310150860">BORDER_COLOR</a>&#160;&#160;&#160;<a class="el" href="group__tft.html#ga4a118ad3ee36468a3fa616977a64864e">RGB</a>(29,82,129)</td></tr>
<tr class="separator:a966901ace2cf6cba3fc9cec310150860"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a61ae6f1ae401c962137f2ae1d2a158df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="checkbox_8c.html#a61ae6f1ae401c962137f2ae1d2a158df">BACKGROUND_COLOR</a>&#160;&#160;&#160;<a class="el" href="group__tft.html#ga87b537f5fa5c109d3c05c13d6b18f382">WHITE</a></td></tr>
<tr class="separator:a61ae6f1ae401c962137f2ae1d2a158df"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:a34f1e43511a3aae8769a19e87ec873d6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="checkbox_8c.html#a34f1e43511a3aae8769a19e87ec873d6">checkboxes_cb</a> (void *touchArea, <a class="el" href="group__touch.html#gab6037f32eebdf297a7d601a1e6c87768">TOUCH_ACTION</a> triggeredAction)</td></tr>
<tr class="separator:a34f1e43511a3aae8769a19e87ec873d6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafc328cff61a651c7b7175515b37c2f6c"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__checkbox.html#gafc328cff61a651c7b7175515b37c2f6c">gui_checkbox_add</a> (<a class="el" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html">CHECKBOX_STRUCT</a> *checkbox)</td></tr>
<tr class="separator:gafc328cff61a651c7b7175515b37c2f6c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e07fb73eb79e8cf6db8f70455f09a92"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__checkbox.html#ga3e07fb73eb79e8cf6db8f70455f09a92">gui_checkbox_redraw</a> (<a class="el" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html">CHECKBOX_STRUCT</a> *checkbox)</td></tr>
<tr class="separator:ga3e07fb73eb79e8cf6db8f70455f09a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga86fc603e59c7a723138b77f4a8f39e76"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__checkbox.html#ga86fc603e59c7a723138b77f4a8f39e76">gui_checkbox_remove</a> (<a class="el" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html">CHECKBOX_STRUCT</a> *checkbox)</td></tr>
<tr class="separator:ga86fc603e59c7a723138b77f4a8f39e76"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga669924dea6a4427dc58d40a5691f677e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__checkbox.html#ga669924dea6a4427dc58d40a5691f677e">gui_checkbox_update</a> (<a class="el" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html">CHECKBOX_STRUCT</a> *checkbox)</td></tr>
<tr class="separator:ga669924dea6a4427dc58d40a5691f677e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="af8522152b2c0ef38991d293c5b158daf"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define ACTIVE_COLOR&#160;&#160;&#160;<a class="el" href="group__tft.html#ga4a118ad3ee36468a3fa616977a64864e">RGB</a>(251,208,123)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="checkbox_8c_source.html#l00029">29</a> of file <a class="el" href="checkbox_8c_source.html">checkbox.c</a>.</p>
</div>
</div>
<a class="anchor" id="a61ae6f1ae401c962137f2ae1d2a158df"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BACKGROUND_COLOR&#160;&#160;&#160;<a class="el" href="group__tft.html#ga87b537f5fa5c109d3c05c13d6b18f382">WHITE</a></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="checkbox_8c_source.html#l00031">31</a> of file <a class="el" href="checkbox_8c_source.html">checkbox.c</a>.</p>
</div>
</div>
<a class="anchor" id="a966901ace2cf6cba3fc9cec310150860"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">#define BORDER_COLOR&#160;&#160;&#160;<a class="el" href="group__tft.html#ga4a118ad3ee36468a3fa616977a64864e">RGB</a>(29,82,129)</td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="checkbox_8c_source.html#l00030">30</a> of file <a class="el" href="checkbox_8c_source.html">checkbox.c</a>.</p>
</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="a34f1e43511a3aae8769a19e87ec873d6"></a>
<div class="memitem">
<div class="memproto">
<table class="memname">
<tr>
<td class="memname">void checkboxes_cb </td>
<td>(</td>
<td class="paramtype">void *&#160;</td>
<td class="paramname"><em>touchArea</em>, </td>
</tr>
<tr>
<td class="paramkey"></td>
<td></td>
<td class="paramtype"><a class="el" href="group__touch.html#gab6037f32eebdf297a7d601a1e6c87768">TOUCH_ACTION</a>&#160;</td>
<td class="paramname"><em>triggeredAction</em>&#160;</td>
</tr>
<tr>
<td></td>
<td>)</td>
<td></td><td></td>
</tr>
</table>
</div><div class="memdoc">
<p>Definition at line <a class="el" href="checkbox_8c_source.html#l00034">34</a> of file <a class="el" href="checkbox_8c_source.html">checkbox.c</a>.</p>
<div class="fragment"><div class="line"><a name="l00035"></a><span class="lineno"> 35</span>&#160;{</div>
<div class="line"><a name="l00036"></a><span class="lineno"> 36</span>&#160; <a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>* area = (<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00037"></a><span class="lineno"> 37</span>&#160; <a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html">CHECKBOX_STRUCT</a>* checkbox = (<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html">CHECKBOX_STRUCT</a>*)touchArea;</div>
<div class="line"><a name="l00038"></a><span class="lineno"> 38</span>&#160;</div>
<div class="line"><a name="l00039"></a><span class="lineno"> 39</span>&#160; <span class="keywordflow">switch</span> (triggeredAction) {</div>
<div class="line"><a name="l00040"></a><span class="lineno"> 40</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>: <span class="comment">//If the user touches the area for the &quot;first time&quot;</span></div>
<div class="line"><a name="l00041"></a><span class="lineno"> 41</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a> | <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>; <span class="comment">//for the future we only want PEN_UP and PEN_LEAVE events</span></div>
<div class="line"><a name="l00042"></a><span class="lineno"> 42</span>&#160;</div>
<div class="line"><a name="l00043"></a><span class="lineno"> 43</span>&#160; <span class="comment">//Draw active shadows</span></div>
<div class="line"><a name="l00044"></a><span class="lineno"> 44</span>&#160; <a class="code" href="group__tft.html#gab5f517d9bf0420872e78b85b37ff30a5">tft_draw_rectangle</a>(checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, <a class="code" href="checkbox_8c.html#af8522152b2c0ef38991d293c5b158daf">ACTIVE_COLOR</a>);</div>
<div class="line"><a name="l00045"></a><span class="lineno"> 45</span>&#160; <a class="code" href="group__tft.html#gab5f517d9bf0420872e78b85b37ff30a5">tft_draw_rectangle</a>(checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 2, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 2, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 2, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 2, <a class="code" href="checkbox_8c.html#af8522152b2c0ef38991d293c5b158daf">ACTIVE_COLOR</a>);</div>
<div class="line"><a name="l00046"></a><span class="lineno"> 46</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00047"></a><span class="lineno"> 47</span>&#160;</div>
<div class="line"><a name="l00048"></a><span class="lineno"> 48</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a>: <span class="comment">//If the user took the pen away, while in the area (=toggle checkbox!)</span></div>
<div class="line"><a name="l00049"></a><span class="lineno"> 49</span>&#160; checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#af7207ba9a7bbec1e8bdcaa466ae83e64">checked</a> = !checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#af7207ba9a7bbec1e8bdcaa466ae83e64">checked</a>; <span class="comment">//Toggle checkbox state</span></div>
<div class="line"><a name="l00050"></a><span class="lineno"> 50</span>&#160; <a class="code" href="group__checkbox.html#ga669924dea6a4427dc58d40a5691f677e">gui_checkbox_update</a>(checkbox); <span class="comment">//redraw/overdraw tickmark</span></div>
<div class="line"><a name="l00051"></a><span class="lineno"> 51</span>&#160;</div>
<div class="line"><a name="l00052"></a><span class="lineno"> 52</span>&#160; <span class="keywordflow">if</span> (checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#a47605ea724f7147a5e79a995afc7e26f">callback</a> != NULL) { <span class="comment">//The user provided a callback</span></div>
<div class="line"><a name="l00053"></a><span class="lineno"> 53</span>&#160; checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#a47605ea724f7147a5e79a995afc7e26f">callback</a>(checkbox, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#af7207ba9a7bbec1e8bdcaa466ae83e64">checked</a>); <span class="comment">//Call the provided callback with the new checked state</span></div>
<div class="line"><a name="l00054"></a><span class="lineno"> 54</span>&#160; }</div>
<div class="line"><a name="l00055"></a><span class="lineno"> 55</span>&#160;</div>
<div class="line"><a name="l00056"></a><span class="lineno"> 56</span>&#160; <span class="comment">// no break statement here!</span></div>
<div class="line"><a name="l00057"></a><span class="lineno"> 57</span>&#160; <span class="keywordflow">case</span> <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a>: <span class="comment">//if the user &quot;slided out&quot; of the area</span></div>
<div class="line"><a name="l00058"></a><span class="lineno"> 58</span>&#160; area-&gt;<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">hookedActions</a> = <a class="code" href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a>; <span class="comment">//for the future we only want PEN_DOWN events</span></div>
<div class="line"><a name="l00059"></a><span class="lineno"> 59</span>&#160;</div>
<div class="line"><a name="l00060"></a><span class="lineno"> 60</span>&#160; <span class="comment">//Draw inactive shadows</span></div>
<div class="line"><a name="l00061"></a><span class="lineno"> 61</span>&#160; <a class="code" href="group__tft.html#gab5f517d9bf0420872e78b85b37ff30a5">tft_draw_rectangle</a>(checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 1, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 1, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 1, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 1, <a class="code" href="checkbox_8c.html#a61ae6f1ae401c962137f2ae1d2a158df">BACKGROUND_COLOR</a>);</div>
<div class="line"><a name="l00062"></a><span class="lineno"> 62</span>&#160; <a class="code" href="group__tft.html#gab5f517d9bf0420872e78b85b37ff30a5">tft_draw_rectangle</a>(checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">x1</a> + 2, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">y1</a> + 2, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">x2</a> - 2, checkbox-&gt;<a class="code" href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">base</a>.<a class="code" href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">y2</a> - 2, <a class="code" href="checkbox_8c.html#a61ae6f1ae401c962137f2ae1d2a158df">BACKGROUND_COLOR</a>);</div>
<div class="line"><a name="l00063"></a><span class="lineno"> 63</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00064"></a><span class="lineno"> 64</span>&#160;</div>
<div class="line"><a name="l00065"></a><span class="lineno"> 65</span>&#160; <span class="keywordflow">default</span>:</div>
<div class="line"><a name="l00066"></a><span class="lineno"> 66</span>&#160; <span class="keywordflow">break</span>;</div>
<div class="line"><a name="l00067"></a><span class="lineno"> 67</span>&#160; }</div>
<div class="line"><a name="l00068"></a><span class="lineno"> 68</span>&#160;}</div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a70faab71fe0370791190ce15d638011d">PEN_DOWN</a></div><div class="ttdoc">Receive an event when the pen goes down inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00054">touch.h:54</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768a082df10a24f2cb7c2a8098c0df591810">PEN_UP</a></div><div class="ttdoc">Receive an event when the pen goes up inside the region. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00055">touch.h:55</a></div></div>
<div class="ttc" id="checkbox_8c_html_af8522152b2c0ef38991d293c5b158daf"><div class="ttname"><a href="checkbox_8c.html#af8522152b2c0ef38991d293c5b158daf">ACTIVE_COLOR</a></div><div class="ttdeci">#define ACTIVE_COLOR</div><div class="ttdef"><b>Definition:</b> <a href="checkbox_8c_source.html#l00029">checkbox.c:29</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a47ada631c22a9d40348069145654f255"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a47ada631c22a9d40348069145654f255">TOUCH_AREA_STRUCT::y1</a></div><div class="ttdeci">uint16_t y1</div><div class="ttdoc">Top Left Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00075">touch.h:75</a></div></div>
<div class="ttc" id="group__checkbox_html_ga669924dea6a4427dc58d40a5691f677e"><div class="ttname"><a href="group__checkbox.html#ga669924dea6a4427dc58d40a5691f677e">gui_checkbox_update</a></div><div class="ttdeci">void gui_checkbox_update(CHECKBOX_STRUCT *checkbox)</div><div class="ttdef"><b>Definition:</b> <a href="checkbox_8c_source.html#l00125">checkbox.c:125</a></div></div>
<div class="ttc" id="checkbox_8c_html_a61ae6f1ae401c962137f2ae1d2a158df"><div class="ttname"><a href="checkbox_8c.html#a61ae6f1ae401c962137f2ae1d2a158df">BACKGROUND_COLOR</a></div><div class="ttdeci">#define BACKGROUND_COLOR</div><div class="ttdef"><b>Definition:</b> <a href="checkbox_8c_source.html#l00031">checkbox.c:31</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aedb5fdfe3c1d1a915b668ba7f3950753"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aedb5fdfe3c1d1a915b668ba7f3950753">TOUCH_AREA_STRUCT::x1</a></div><div class="ttdeci">uint16_t x1</div><div class="ttdoc">Top Left X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00074">touch.h:74</a></div></div>
<div class="ttc" id="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t_html_af7207ba9a7bbec1e8bdcaa466ae83e64"><div class="ttname"><a href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#af7207ba9a7bbec1e8bdcaa466ae83e64">CHECKBOX_STRUCT::checked</a></div><div class="ttdeci">bool checked</div><div class="ttdoc">A boolean which indicates whether or not the checkbox is currently checked. </div><div class="ttdef"><b>Definition:</b> <a href="checkbox_8h_source.html#l00053">checkbox.h:53</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html">TOUCH_AREA_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00072">touch.h:72</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_aa377184ba406b3f0c4ac18c935378204"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#aa377184ba406b3f0c4ac18c935378204">TOUCH_AREA_STRUCT::y2</a></div><div class="ttdeci">uint16_t y2</div><div class="ttdoc">Bottom Right Y-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00077">touch.h:77</a></div></div>
<div class="ttc" id="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t_html"><div class="ttname"><a href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html">CHECKBOX_STRUCT</a></div><div class="ttdef"><b>Definition:</b> <a href="checkbox_8h_source.html#l00050">checkbox.h:50</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_ac5bc000f8954f38b7a641a485a26bae7"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#ac5bc000f8954f38b7a641a485a26bae7">TOUCH_AREA_STRUCT::x2</a></div><div class="ttdeci">uint16_t x2</div><div class="ttdoc">Bottom Right X-Coordinate of Area. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00076">touch.h:76</a></div></div>
<div class="ttc" id="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t_html_a4026095999c2fd7a91f9bb91390647a4"><div class="ttname"><a href="struct_t_o_u_c_h___a_r_e_a___s_t_r_u_c_t.html#a4026095999c2fd7a91f9bb91390647a4">TOUCH_AREA_STRUCT::hookedActions</a></div><div class="ttdeci">TOUCH_ACTION hookedActions</div><div class="ttdoc">Actions to listen to. </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00073">touch.h:73</a></div></div>
<div class="ttc" id="group__tft_html_gab5f517d9bf0420872e78b85b37ff30a5"><div class="ttname"><a href="group__tft.html#gab5f517d9bf0420872e78b85b37ff30a5">tft_draw_rectangle</a></div><div class="ttdeci">void tft_draw_rectangle(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2, uint16_t color)</div><div class="ttdef"><b>Definition:</b> <a href="tft_8c_source.html#l00061">tft.c:61</a></div></div>
<div class="ttc" id="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t_html_adf10d197299522577e67d366877bdd3f"><div class="ttname"><a href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#adf10d197299522577e67d366877bdd3f">CHECKBOX_STRUCT::base</a></div><div class="ttdeci">TOUCH_AREA_STRUCT base</div><div class="ttdoc">Basic geometry of the Checkbox. You only need to set the x1, y1, x2, y2 members of this struct...</div><div class="ttdef"><b>Definition:</b> <a href="checkbox_8h_source.html#l00051">checkbox.h:51</a></div></div>
<div class="ttc" id="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t_html_a47605ea724f7147a5e79a995afc7e26f"><div class="ttname"><a href="struct_c_h_e_c_k_b_o_x___s_t_r_u_c_t.html#a47605ea724f7147a5e79a995afc7e26f">CHECKBOX_STRUCT::callback</a></div><div class="ttdeci">CHECKBOX_CALLBACK callback</div><div class="ttdoc">Callback which is executed when the checkbox changes state. </div><div class="ttdef"><b>Definition:</b> <a href="checkbox_8h_source.html#l00054">checkbox.h:54</a></div></div>
<div class="ttc" id="group__touch_html_ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753"><div class="ttname"><a href="group__touch.html#ggab6037f32eebdf297a7d601a1e6c87768ad07447bb4a71fa12d848d80f279b7753">PEN_LEAVE</a></div><div class="ttdoc">Receive an event when the pen leaves the region (pen was inside region before) </div><div class="ttdef"><b>Definition:</b> <a href="touch_8h_source.html#l00057">touch.h:57</a></div></div>
</div><!-- fragment -->
<p><div class="dynheader">
Here is the call graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_cgraph.png" border="0" usemap="#checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_cgraph" alt=""/></div>
<map name="checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_cgraph" id="checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_cgraph">
<area shape="rect" id="node2" href="group__tft.html#gab5f517d9bf0420872e78b85b37ff30a5" title="tft_draw_rectangle" alt="" coords="177,5,304,32"/><area shape="rect" id="node4" href="group__checkbox.html#ga669924dea6a4427dc58d40a5691f677e" title="gui_checkbox_update" alt="" coords="167,56,315,83"/><area shape="rect" id="node3" href="group__ll__tft.html#ga3a0826993525194c868cc435738dd31e" title="ll_tft_draw_rectangle" alt="" coords="363,5,503,32"/><area shape="rect" id="node5" href="group__tft.html#ga5022f91ea04919e698a79c0c309ba6f8" title="tft_draw_line" alt="" coords="385,56,480,83"/><area shape="rect" id="node6" href="group__ll__tft.html#ga2560737bf118275e6ce728f6dce1e83f" title="ll_tft_draw_line" alt="" coords="551,56,657,83"/></map>
</div>
</p>
<p><div class="dynheader">
Here is the caller graph for this function:</div>
<div class="dyncontent">
<div class="center"><img src="checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_icgraph.png" border="0" usemap="#checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_icgraph" alt=""/></div>
<map name="checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_icgraph" id="checkbox_8c_a34f1e43511a3aae8769a19e87ec873d6_icgraph">
<area shape="rect" id="node2" href="group__checkbox.html#gafc328cff61a651c7b7175515b37c2f6c" title="gui_checkbox_add" alt="" coords="167,5,297,32"/><area shape="rect" id="node3" href="screen__guitest_8c.html#a3017cd14eca2b9e67a69e7ea559b5eaa" title="enter" alt="" coords="345,5,396,32"/></map>
</div>
</p>
</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Mon Jun 8 2015 11:01:18 for discoverpixy by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.9.1
</small></address>
</body>
</html>

Some files were not shown because too many files have changed in this diff Show More