<html><head><style>
body {
        font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
        padding:1em;
        margin:auto;
        background:#fefefe;
}
h1, h2, h3, h4, h5, h6 {
        font-weight: bold;
}
h1 {
        color: #000000;
        font-size: 28pt;
}
h2 {
        border-bottom: 1px solid #CCCCCC;
        color: #000000;
        font-size: 24px;
}
h3 {
        font-size: 18px;
}
h4 {
        font-size: 16px;
}
h5 {
        font-size: 14px;
}
h6 {
        color: #777777;
        background-color: inherit;
        font-size: 14px;
}
hr {
        height: 0.2em;
        border: 0;
        color: #CCCCCC;
        background-color: #CCCCCC;
display: inherit;
}
p, blockquote, ul, ol, dl, li, table, pre {
        margin: 15px 0;
}
a, a:visited {
        color: #4183C4;
        background-color: inherit;
        text-decoration: none;
}
#message {
        border-radius: 6px;
        border: 1px solid #ccc;
        display:block;
        width:100%;
        height:60px;
        margin:6px 0px;
}
button, #ws {
        font-size: 12 pt;
        padding: 4px 6px;
        border-radius: 5px;
        border: 1px solid #bbb;
        background-color: #eee;
}
code, pre, #ws, #message {
        font-family: Monaco;
        font-size: 10pt;
        border-radius: 3px;
        background-color: #F8F8F8;
        color: inherit;
}
code {
        border: 1px solid #EAEAEA;
        margin: 0 2px;
        padding: 0 5px;
}
pre {
        border: 1px solid #CCCCCC;
        overflow: auto;
        padding: 4px 8px;
}
pre > code {
        border: 0;
        margin: 0;
        padding: 0;
}
#ws { background-color: #f8f8f8; }
.bloop_markdown table {
border-collapse: collapse;
font-family: Helvetica, arial, freesans, clean, sans-serif;
color: rgb(51, 51, 51);
font-size: 15px; line-height: 25px;
padding: 0; }
.bloop_markdown table tr {
border-top: 1px solid #cccccc;
background-color: white;
margin: 0;
padding: 0; }
.bloop_markdown table tr:nth-child(2n) {
background-color: #f8f8f8; }
.bloop_markdown table tr th {
font-weight: bold;
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
.bloop_markdown table tr td {
border: 1px solid #cccccc;
margin: 0;
padding: 6px 13px; }
.bloop_markdown table tr th :first-child, table tr td :first-child {
margin-top: 0; }
.bloop_markdown table tr th :last-child, table tr td :last-child {
margin-bottom: 0; }
.bloop_markdown blockquote{
border-left: 4px solid #dddddd;
padding: 0 15px;
color: #777777; }
blockquote > :first-child {
margin-top: 0; }
blockquote > :last-child {
margin-bottom: 0; }
code, pre, #ws, #message {
word-break: normal;
word-wrap: normal;
}
hr {
display: inherit;
}
.bloop_markdown :first-child {
-webkit-margin-before: 0;
}
code, pre, #ws, #message {
font-family: Menlo, Consolas, Liberation Mono, Courier, monospace;
}
.send { color:#77bb77; }
.server { color:#7799bb; }
.error { color:#AA0000; }</style></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;"><div class="bloop_markdown"><p>Besides the fact that those literals are an IDE gimmick supported only by Xcode and Playgrounds (AppCode does not support them) and not compatible with <code>IBDesignable</code>, I personally would recommend to use an <code>UInt32</code> instead of a <code>String</code>.</p>
<p><code>#colorLiteral(rgba: 0xDB8B09FF)</code></p>
<p></p></div><div class="bloop_original_html"><style>body{font-family:Helvetica,Arial;font-size:13px}</style><div id="bloop_customfont" style="font-family:Helvetica,Arial;font-size:13px; color: rgba(0,0,0,1.0); margin: 0px; line-height: auto;"><br></div> <br> <div id="bloop_sign_1493740852914626048" class="bloop_sign"><div style="font-family:helvetica,arial;font-size:13px">-- <br>Adrian Zubarev<br>Sent with Airmail</div></div> <br><p class="airmail_on">Am 2. Mai 2017 um 17:55:05, Yonas Kolb via swift-evolution (<a href="mailto:swift-evolution@swift.org">swift-evolution@swift.org</a>) schrieb:</p> <blockquote type="cite" class="clean_bq"><span><div dir="ltr"><div></div><div>
<title></title>
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Arial,Helvetica,sans-serif;" dir="ltr">
<p><span style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">Hi
Swift Evolution</span></p>
<p><font face="Helvetica"><span style="font-size: 12px;"><br></span></font></p>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
Color literals in their current state are in practice only useful
as an Xcode utility feature, because creating, editing, or reading
them in code is a pain.</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
Currently the only autocomplete provided opens the color picker,
which once a color is selected adds something like this to the
code: <i>#colorLiteral(red: 0.9254902005, green: 0.2352941185,
blue: 0.1019607857, alpha: 1)</i>. </div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
Xcode provides a nice color swatch to preview the color, but if
viewing this in raw source from a git diff or a 3rd party editor it
becomes hard to tell what the color is, or edit it, especially as
the rgb components are a fraction of 1 instead of the more readable
and standard 1-255. </div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
<br></div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
I propose adding a hex initialiser like
this <i>#colorLiteral(hex: “DB8B09",
alpha: </i><i>0.5</i><i>)</i>. Hex values are the industry
standard for colors which makes this feature much easier to use.
Now we can actually grok what a color is in source code
without reaching for a convertor or calculator, as well as being to
define these by simply pasting in hex strings.</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
<br></div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
Possible alternative to the above syntax could be:</div>
<div style="font-family: Helvetica; font-size: 12px; text-size-adjust: auto;">
<ul class="MailOutline">
<li>hex string param name: <i>#colorLiteral(hexString:
"DB8B09", alpha: 1)</i></li>
<li>include alpha as last 2 characters: #<i>colorLiteral(hexString:
"DB8B09FF")</i></li>
<li>including #: <i>#colorLiteral(hexString: "#DB8B09",
alpha: 1)</i>. This should probably be optionally allowed either
way.</li>
</ul>
<div><br></div>
<div>I’m proposing adding this new hex init in addition to the old
one, so it’s still backwards compatible. While outside the scope of
swift evolution, the goal would be to get this to also be the
default way Xcode would write values from the color picker, as well
as being able to render them in the first place. </div>
<div>Having an extra autocomplete with the new init hex would be
useful too, so you can just provide a hex string without opening up
a color picker, and I don't think this
would require xcode support.</div>
<div><br></div>
<div>I’m unsure if this proposal would require changes in UIColor,
NSColor or Xcode, so I’m not even sure this is the right place to
propose such a thing.</div>
<div><br></div>
<div>I haven’t drafted a proposal yet, as I just wanted to check if
there was any interest first, or if this is even feasible.</div>
</div>
<br></div>
_______________________________________________<br>swift-evolution mailing list<br>swift-evolution@swift.org<br>https://lists.swift.org/mailman/listinfo/swift-evolution<br></div></div></span></blockquote></div><div class="bloop_markdown"><p></p></div></body></html>