|
| 1 | +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 2 | +<html xmlns="http://www.w3.org/1999/xhtml"> |
| 3 | +<head> |
| 4 | +<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> |
| 5 | +<meta http-equiv="X-UA-Compatible" content="IE=9"/> |
| 6 | +<meta name="generator" content="Doxygen 1.12.0"/> |
| 7 | +<meta name="viewport" content="width=device-width, initial-scale=1"/> |
| 8 | +<!-- BEGIN opengraph metadata --> |
| 9 | +<meta property="og:title" content="Archicad C++ API" /> |
| 10 | +<meta property="og:image" content="logo.svg" /> |
| 11 | +<meta property="og:description" content="Archicad Development Kit Documentation, best practices, example codes and information hub." /> |
| 12 | +<meta property="og:url" content="https://archicadapi.graphisoft.com/documentation/" /> |
| 13 | +<!-- END opengraph metadata --> |
| 14 | +<!-- BEGIN twitter metadata --> |
| 15 | +<meta name="twitter:image:src" content="logo.svg" /> |
| 16 | +<meta name="twitter:title" content="Archicad C++ API" /> |
| 17 | +<meta name="twitter:description" content="Archicad Development Kit Documentation, best practices, example codes and information hub." /> |
| 18 | +<!-- END twitter metadata --> |
| 19 | +<title>Archicad 29 C++ API: Dark mode icon generation</title> |
| 20 | +<link href="tabs.css" rel="stylesheet" type="text/css"/> |
| 21 | +<script type="text/javascript" src="jquery.js"></script> |
| 22 | +<script type="text/javascript" src="dynsections.js"></script> |
| 23 | +<script type="text/javascript" src="doxygen-awesome-darkmode-toggle.js"></script> |
| 24 | +<script type="text/javascript" src="doxygen-awesome-fragment-copy-button.js"></script> |
| 25 | +<script type="text/javascript" src="doxygen-awesome-paragraph-link.js"></script> |
| 26 | +<script type="text/javascript" src="doxygen-awesome-interactive-toc.js"></script> |
| 27 | +<script type="text/javascript" src="doxygen-awesome-tabs.js"></script> |
| 28 | +<script type="text/javascript"> |
| 29 | + DoxygenAwesomeFragmentCopyButton.init() |
| 30 | + DoxygenAwesomeDarkModeToggle.init() |
| 31 | + DoxygenAwesomeParagraphLink.init() |
| 32 | + DoxygenAwesomeInteractiveToc.init() |
| 33 | + DoxygenAwesomeTabs.init() |
| 34 | +</script> |
| 35 | +<link href="navtree.css" rel="stylesheet" type="text/css"/> |
| 36 | +<script type="text/javascript" src="navtreedata.js"></script> |
| 37 | +<script type="text/javascript" src="navtree.js"></script> |
| 38 | +<script type="text/javascript" src="resize.js"></script> |
| 39 | +<script type="text/javascript" src="cookie.js"></script> |
| 40 | +<link href="search/search.css" rel="stylesheet" type="text/css"/> |
| 41 | +<script type="text/javascript" src="search/searchdata.js"></script> |
| 42 | +<script type="text/javascript" src="search/search.js"></script> |
| 43 | +<link href="doxygen.css" rel="stylesheet" type="text/css" /> |
| 44 | +<link href="doxygen-awesome.css" rel="stylesheet" type="text/css"/> |
| 45 | +<link href="doxygen-awesome-sidebar-only.css" rel="stylesheet" type="text/css"/> |
| 46 | +<link href="doxygen-awesome-sidebar-only-darkmode-toggle.css" rel="stylesheet" type="text/css"/> |
| 47 | +<link href="custom.css" rel="stylesheet" type="text/css"/> |
| 48 | +<link href="https://fonts.cdnfonts.com/css/proxima-nova-2" rel="stylesheet"> |
| 49 | +<link rel="icon" href="logo.svg" /> |
| 50 | +</head> |
| 51 | +<body> |
| 52 | +<div id="top"><!-- do not remove this div, it is closed by doxygen! --> |
| 53 | +<div id="titlearea"> |
| 54 | +<table cellspacing="0" cellpadding="0"> |
| 55 | + <tbody> |
| 56 | + <tr style="height: 56px;"> |
| 57 | + <td id="projectlogo"><img alt="Logo" src="logo.svg"/></td> |
| 58 | + <td id="projectalign" style="padding-left: 0.5em;"> |
| 59 | + <div id="projectname">Archicad 29 C++ API |
| 60 | + </div> |
| 61 | + </td> |
| 62 | + </tr> |
| 63 | + </tbody> |
| 64 | +</table> |
| 65 | +</div> |
| 66 | +<!-- end header part --> |
| 67 | +<!-- Generated by Doxygen 1.12.0 --> |
| 68 | +<script type="text/javascript"> |
| 69 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 70 | +var searchBox = new SearchBox("searchBox", "search/",'.html'); |
| 71 | +/* @license-end */ |
| 72 | +</script> |
| 73 | +<script type="text/javascript"> |
| 74 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 75 | +$(function() { codefold.init(0); }); |
| 76 | +/* @license-end */ |
| 77 | +</script> |
| 78 | +<script type="text/javascript" src="menudata.js"></script> |
| 79 | +<script type="text/javascript" src="menu.js"></script> |
| 80 | +<script type="text/javascript"> |
| 81 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 82 | +$(function() { |
| 83 | + initMenu('',true,false,'search.php','Search',true); |
| 84 | + $(function() { init_search(); }); |
| 85 | +}); |
| 86 | +/* @license-end */ |
| 87 | +</script> |
| 88 | +<div id="main-nav"></div> |
| 89 | +</div><!-- top --> |
| 90 | +<div id="side-nav" class="ui-resizable side-nav-resizable"> |
| 91 | + <div id="nav-tree"> |
| 92 | + <div id="nav-tree-contents"> |
| 93 | + <div id="nav-sync" class="sync"></div> |
| 94 | + </div> |
| 95 | + </div> |
| 96 | + <div id="splitbar" style="-moz-user-select:none;" |
| 97 | + class="ui-resizable-handle"> |
| 98 | + </div> |
| 99 | +</div> |
| 100 | +<script type="text/javascript"> |
| 101 | +/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&dn=expat.txt MIT */ |
| 102 | +$(function(){initNavTree('darkicongeneration.html',''); initResizable(true); }); |
| 103 | +/* @license-end */ |
| 104 | +</script> |
| 105 | +<div id="doc-content"> |
| 106 | +<!-- window showing the filter options --> |
| 107 | +<div id="MSearchSelectWindow" |
| 108 | + onmouseover="return searchBox.OnSearchSelectShow()" |
| 109 | + onmouseout="return searchBox.OnSearchSelectHide()" |
| 110 | + onkeydown="return searchBox.OnSearchSelectKey(event)"> |
| 111 | +</div> |
| 112 | + |
| 113 | +<!-- iframe showing the search results (closed by default) --> |
| 114 | +<div id="MSearchResultsWindow"> |
| 115 | +<div id="MSearchResults"> |
| 116 | +<div class="SRPage"> |
| 117 | +<div id="SRIndex"> |
| 118 | +<div id="SRResults"></div> |
| 119 | +<div class="SRStatus" id="Loading">Loading...</div> |
| 120 | +<div class="SRStatus" id="Searching">Searching...</div> |
| 121 | +<div class="SRStatus" id="NoMatches">No Matches</div> |
| 122 | +</div> |
| 123 | +</div> |
| 124 | +</div> |
| 125 | +</div> |
| 126 | + |
| 127 | +<div><div class="header"> |
| 128 | + <div class="headertitle"><div class="title">Dark mode icon generation</div></div> |
| 129 | +</div><!--header--> |
| 130 | +<div class="contents"> |
| 131 | +<div class="textblock"><p>Starting with Archicad 29, the APIDevKit provides automatic dark mode icon generation, available exclusively on the Mac platform. This feature processes SVG files to create dark mode variants, but only if colors are specified in the <code>#xxxxxx</code> or <code>#xxx</code> hexadecimal format. Icons using color literals are not supported.</p> |
| 132 | +<p>During the build process, a color check is performed for all SVG files. This check ensures that every color in the SVG has a corresponding dark mode color defined in the configuration file. If any color is missing a counterpart, the build will fail with an error.</p> |
| 133 | +<p>The configuration file, <code>SVG_ColorChange_Darkmode.json</code> under Support/Tools/OSX/ folder, manages the color conversion under the <code>colorTable</code> key. By default, it contains Graphisoft colors and their dark mode equivalents, but you can extend it with your own custom color pairs. The file also allows you to exclude specific files (<code>excludeFiles</code> key) or folders (<code>excludeFolders</code> key) from processing, so those SVGs remain unchanged in dark mode.</p> |
| 134 | +<p>Additionally, you can specify <code>noCheckFiles</code> and <code>noCheckFolders</code>. For these, dark mode icons will be generated, but the color check will be skipped. </p> |
| 135 | +</div></div><!-- contents --> |
| 136 | +</div><!-- PageDoc --> |
| 137 | +</div><!-- doc-content --> |
| 138 | +</body> |
| 139 | +</html> |
0 commit comments