mirror of
https://github.com/giongto35/cloud-game.git
synced 2026-01-23 10:35:44 +00:00
Keyboard and mouse controls will now work if you use the kbMouseSupport parameter in the config for Libretro cores. Be aware that capturing mouse and keyboard controls properly is only possible in fullscreen mode. Note: In the case of DOSBox, a virtual filesystem handler is not yet implemented, thus each game state will be shared between all rooms (DOS game instances) of CloudRetro.
360 lines
5.5 KiB
CSS
360 lines
5.5 KiB
CSS
|
|
.hidden, [hidden] {
|
|
display: none !important;
|
|
}
|
|
|
|
.container {
|
|
display: grid;
|
|
-webkit-box-pack: center;
|
|
justify-content: center;
|
|
-webkit-box-align: center;
|
|
align-items: center;
|
|
height: 100vh;
|
|
}
|
|
|
|
.btn2 {
|
|
font-size: 80%;
|
|
padding: .2em .4em;
|
|
border-radius: 3px;
|
|
text-decoration: none;
|
|
background-color: #515151;
|
|
color: #2c3234;
|
|
|
|
height: 1rem;
|
|
}
|
|
|
|
.settings {
|
|
padding: 0 1em 1em 1em;
|
|
}
|
|
|
|
.settings__controls {
|
|
color: #aaa;
|
|
font-size: 80%;
|
|
text-align: center;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.settings__controls span:hover {
|
|
color: black;
|
|
}
|
|
|
|
#settings-data > div {
|
|
display: grid;
|
|
grid-template-rows: auto;
|
|
}
|
|
|
|
.settings__option-title {
|
|
background-color: beige;
|
|
margin-top: .5em;
|
|
padding: .5em;
|
|
}
|
|
|
|
.settings__option-name {
|
|
}
|
|
|
|
.settings__option-desc {
|
|
font-size: 61%;
|
|
color: #444;
|
|
font-family: monospace;
|
|
}
|
|
|
|
.settings__option-value {
|
|
padding: .5em;
|
|
}
|
|
|
|
.restart-needed-asterisk:after {
|
|
content: '*';
|
|
color: red;
|
|
}
|
|
|
|
.restart-needed-asterisk-b:before {
|
|
content: '*';
|
|
color: red;
|
|
}
|
|
|
|
.settings__option-value select, .settings__option-value input {
|
|
font-family: '6809', monospace;
|
|
font-size: 90%;
|
|
}
|
|
|
|
.settings__option-value input:not([type='checkbox']) {
|
|
width: 6em;
|
|
}
|
|
|
|
.settings__option-value option {
|
|
font-size: 150%;
|
|
}
|
|
|
|
.settings__info {
|
|
font-size: 80%;
|
|
}
|
|
|
|
.keyboard-bindings .settings__option-value {
|
|
display: grid;
|
|
grid-template-columns: 20% 20% 20% 20% auto;
|
|
row-gap: 5px;
|
|
}
|
|
|
|
.settings__option-checkbox label {
|
|
display: inline-flex;
|
|
align-items: center;
|
|
}
|
|
|
|
.binding-element {
|
|
display: flex;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
.binding-element button {
|
|
font-family: '6809', monospace;
|
|
min-width: 6em;
|
|
}
|
|
|
|
.binding-element div {
|
|
font-size: 80%;
|
|
}
|
|
|
|
/* Server list styling */
|
|
|
|
.server-list div {
|
|
display: grid;
|
|
grid-template-columns: .2fr 1.2fr 1fr .5fr .2fr;
|
|
justify-items: start;
|
|
|
|
|
|
padding: 0 1em 0 1em;
|
|
}
|
|
|
|
.server-list div:not(.server-list__header):hover {
|
|
background-color: #e7e7e7;
|
|
}
|
|
|
|
.server-list .server-list__header {
|
|
font-weight: bold;
|
|
padding: 1em 1em .6em 1em;
|
|
}
|
|
|
|
.server-list .server-list__header span {
|
|
border-bottom: 1px dashed black;
|
|
}
|
|
|
|
/* Panel element */
|
|
.panel {
|
|
display: flex;
|
|
flex-grow: 1;
|
|
flex-direction: column;
|
|
|
|
background-color: white;
|
|
font-size: 12px;
|
|
|
|
font-family: '6809', monospace;
|
|
|
|
z-index: 1;
|
|
position: relative;
|
|
|
|
cursor: default;
|
|
}
|
|
|
|
.panel__header {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
|
|
align-items: center;
|
|
padding: .5rem .8rem;
|
|
|
|
background-color: #f5f5f5;
|
|
|
|
user-select: none;
|
|
}
|
|
|
|
.panel__header__title {
|
|
letter-spacing: 1px;
|
|
}
|
|
|
|
.panel__header__controls {
|
|
display: flex;
|
|
gap: 0.3rem;
|
|
}
|
|
|
|
.panel__content {
|
|
padding-bottom: .5rem;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.panel__footer {
|
|
display: flex;
|
|
/* Push the buttons to the right */
|
|
justify-content: flex-end;
|
|
/* Border */
|
|
border-top: 1px solid rgba(0, 0, 0.3);
|
|
}
|
|
|
|
.panel__button {
|
|
background-color: #ededed;
|
|
|
|
padding: 2px 4px;
|
|
min-width: 0.7rem;
|
|
text-align: center;
|
|
}
|
|
|
|
.panel__button:hover {
|
|
background-color: #7a7e7d;
|
|
color: white;
|
|
|
|
cursor: pointer;
|
|
}
|
|
|
|
.panel__button.bold {
|
|
font-weight: bold;
|
|
}
|
|
|
|
.panel__button_separator {
|
|
width: .5em;
|
|
}
|
|
|
|
|
|
.app-button {
|
|
position: absolute;
|
|
top: 34px;
|
|
left: 45px;
|
|
cursor: pointer;
|
|
font-size: 70%;
|
|
color: #606060;
|
|
font-family: '6809', sans-serif;
|
|
}
|
|
|
|
.app-button:hover {
|
|
color: #7e7e7e;
|
|
}
|
|
|
|
.app-button.fs {
|
|
position: relative;
|
|
top: 0;
|
|
left: 0;
|
|
}
|
|
|
|
#mirror-stream {
|
|
image-rendering: pixelated;
|
|
width: 100%;
|
|
height: 100%;
|
|
}
|
|
|
|
#screen {
|
|
display: flex;
|
|
/*align-items: center;*/
|
|
justify-content: center;
|
|
|
|
min-width: 0 !important;
|
|
min-height: 0 !important;
|
|
|
|
position: absolute;
|
|
/* popups under the screen fix */
|
|
z-index: -1;
|
|
|
|
width: 320px;
|
|
height: 240px;
|
|
top: 23px;
|
|
left: 150px;
|
|
overflow: hidden;
|
|
background-color: #000000;
|
|
|
|
border-radius: 5px 5px 5px 5px;
|
|
box-shadow: 0 0 2px 2px rgba(25, 25, 25, 1);
|
|
}
|
|
|
|
.screen__footer {
|
|
position: absolute;
|
|
bottom: 0;
|
|
display: flex;
|
|
flex-direction: row;
|
|
border-top: 1px solid #1b1b1b;
|
|
width: calc(100% - .6rem);
|
|
justify-content: space-between;
|
|
|
|
background-color: #00000022;
|
|
|
|
height: 13px;
|
|
font-size: .6rem;
|
|
color: #ffffff;
|
|
|
|
opacity: .3;
|
|
|
|
padding: 0 .2em;
|
|
|
|
cursor: default;
|
|
}
|
|
|
|
.hover:hover {
|
|
opacity: .567;
|
|
}
|
|
|
|
.with-footer {
|
|
height: calc(100% - 14px);
|
|
}
|
|
|
|
.kbm-button {
|
|
top: 265px;
|
|
left: 542px;
|
|
|
|
text-align: center;
|
|
font-size: 70%;
|
|
|
|
opacity: .5;
|
|
filter: contrast(.3);
|
|
}
|
|
|
|
.kbm-button-fs {
|
|
width: 1em;
|
|
text-align: center;
|
|
font-size: 110%;
|
|
/*color: #ffffff;*/
|
|
/*opacity: .5;*/
|
|
filter: contrast(.3);
|
|
}
|
|
|
|
.no-pointer {
|
|
cursor: none;
|
|
}
|
|
|
|
#stats-overlay {
|
|
cursor: default;
|
|
|
|
display: flex;
|
|
flex-direction: row;
|
|
justify-content: end;
|
|
|
|
color: #fff;
|
|
background: #000;
|
|
/*opacity: .3;*/
|
|
|
|
font-size: 10px;
|
|
font-family: monospace;
|
|
min-width: 18em;
|
|
|
|
gap: 5px;
|
|
visibility: hidden;
|
|
}
|
|
|
|
#stats-overlay > div {
|
|
display: flex;
|
|
flex-flow: wrap;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
|
|
#stats-overlay > div > div {
|
|
display: inline-block;
|
|
font-weight: 500;
|
|
}
|
|
|
|
#stats-overlay .graph {
|
|
width: 100%;
|
|
/* artifacts with pixelated option */
|
|
/*image-rendering: pixelated;*/
|
|
image-rendering: optimizeSpeed;
|
|
}
|
|
|
|
.stats-bitrate {
|
|
min-width: 3.3rem;
|
|
}
|