Web Inspector: Canvas tab: create icons for recordings/shaders in the preview tile
[WebKit-https.git] / Source / WebInspectorUI / UserInterface / Views / CanvasOverviewContentView.css
1 /*
2  * Copyright (C) 2017 Apple Inc. All rights reserved.
3  *
4  * Redistribution and use in source and binary forms, with or without
5  * modification, are permitted provided that the following conditions
6  * are met:
7  * 1. Redistributions of source code must retain the above copyright
8  *    notice, this list of conditions and the following disclaimer.
9  * 2. Redistributions in binary form must reproduce the above copyright
10  *    notice, this list of conditions and the following disclaimer in the
11  *    documentation and/or other materials provided with the distribution.
12  *
13  * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
14  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
15  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
16  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
17  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
18  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
19  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
20  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
21  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
22  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
23  * THE POSSIBILITY OF SUCH DAMAGE.
24  */
25
26 .content-view.canvas-overview {
27     justify-content: center;
28     align-items: flex-start;
29     background-color: hsl(0, 0%, 90%);
30
31     --item-margin: 10px;
32 }
33
34 .content-view.canvas-overview .content-view.canvas {
35     flex-grow: 0;
36     margin: var(--item-margin);
37     width: 400px;
38     background-color: white;
39 }
40
41 .content-view.canvas-overview .content-view.canvas {
42     border: 1px solid var(--border-color);
43     cursor: pointer;
44 }
45
46 .content-view.canvas-overview .content-view.canvas.is-recording {
47     border-color: red;
48 }
49
50 .content-view.canvas-overview .content-view.canvas > :matches(header, footer) {
51     display: flex;
52     flex-direction: row;
53     flex-shrink: 0;
54     justify-content: space-between;
55     align-items: center;
56     padding: 0 6px;
57     height: var(--navigation-bar-height);
58     cursor: default;
59 }
60
61 .content-view.canvas-overview .content-view.canvas > header {
62     font-size: 13px;
63 }
64
65 .content-view.canvas-overview .content-view.canvas.is-recording > header {
66     background-color: red;
67 }
68
69 .content-view.canvas-overview .content-view.canvas > header > .titles,
70 .content-view.canvas-overview .content-view.canvas > footer > .size {
71     white-space: nowrap;
72 }
73
74 .content-view.canvas-overview .content-view.canvas > header > .titles > .title {
75     color: var(--text-color-gray-dark);
76 }
77
78 .content-view.canvas-overview .content-view.canvas > header > .titles > .subtitle,
79 .content-view.canvas-overview .content-view.canvas > footer .memory-cost {
80     color: var(--text-color-gray-medium);
81 }
82
83 .content-view.canvas-overview .content-view.canvas > header .subtitle::before {
84     content: " — ";
85 }
86
87 .content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .title {
88     color: white;
89 }
90
91 .content-view.canvas-overview .content-view.canvas.is-recording > header > .titles > .subtitle {
92     color: var(--selected-secondary-text-color);
93 }
94
95 .content-view.canvas-overview .content-view.canvas.is-recording > header > .navigation-bar > .item {
96     filter: brightness(0) invert();
97 }
98
99 .content-view.canvas-overview .content-view.canvas > header > .navigation-bar {
100     align-items: initial;
101     border: none;
102     opacity: 0;
103     transition: opacity 200ms ease-in-out;
104 }
105
106 .content-view.canvas-overview .content-view.canvas:matches(:hover, .is-recording) > header > .navigation-bar {
107     opacity: 1;
108     transition: opacity 200ms ease-in-out;
109 }
110
111 .content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop.disabled {
112     filter: grayscale();
113     opacity: 0.5;
114 }
115
116 .content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):hover {
117     filter: brightness(95%);
118 }
119
120 .content-view.canvas-overview .content-view.canvas:not(.is-recording) > header > .navigation-bar > .item.record-start-stop:not(.disabled):active {
121     filter: brightness(80%);
122 }
123
124 .content-view.canvas-overview .content-view.canvas.is-recording > .progress-view,
125 .content-view.canvas-overview .content-view.canvas > .preview {
126     height: 280px;
127 }
128
129 .content-view.canvas-overview .content-view.canvas.is-recording > .preview {
130     display: none;
131 }
132
133 .content-view.canvas-overview .content-view.canvas > .preview > img {
134     border-radius: 4px;
135     box-shadow: 1px 2px 6px rgba(0, 0, 0, 0.58);
136 }
137
138 .content-view.canvas-overview .content-view.canvas > .preview > .message-text-view {
139     position: static;
140 }
141
142 .content-view.canvas-overview .content-view.canvas > footer {
143     border-top: none;
144 }
145
146 .content-view.canvas-overview .content-view.canvas > footer > .view-related-items {
147     display: flex;
148     align-items: center;
149 }
150
151 .content-view.canvas-overview .content-view.canvas > footer > .view-related-items > :matches(.view-shader, .view-recording) {
152     width: 16px;
153     height: 16px;
154 }
155
156 .content-view.canvas-overview .content-view.canvas > footer > .view-related-items > img + img {
157     -webkit-margin-start: 4px;
158 }
159
160 .content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-shader {
161     content: image-set(url(../Images/DocumentGL.png) 1x, url(../Images/DocumentGL@2x.png) 2x);
162 }
163
164 .content-view.canvas-overview .content-view.canvas > footer > .view-related-items > .view-recording {
165     content: url(../Images/Recording.svg);
166 }
167
168 .content-view.canvas-overview .content-view.canvas > footer > .flexible-space {
169     flex: 1;
170 }
171
172 .content-view.canvas-overview .content-view.canvas > footer .memory-cost {
173     -webkit-padding-start: 4px;
174 }
175
176 .popover-content > .tree-outline .item.recording > .icon {
177     content: url(../Images/Recording.svg);
178 }
179
180 .popover-content > .tree-outline .item.recording:hover {
181     color: var(--selected-foreground-color);
182     background-color: var(--selected-background-color);
183     border-radius: 3px;
184 }
185
186 .popover-content > .tree-outline .item.recording:hover > .icon {
187     filter: invert();
188 }