Re: ProGUI V3 Alpha 3 Ready for testing!
Posted: Sun Mar 23, 2025 1:25 am
SkinSave(Path.s = "", Skin = #Null) command is coming along nicely! Creates a subdirectory of the skin name containing a bunch of css files named by the theme (or 'default.css' if no theme is specified in the SkinSetValue() class path) e.g. 'default.css', 'dark.css', 'light.css', 'blue.css' etc..
So from the following test example code:
This is the generated 'default.css' from the test example:
So from the following test example code:
Code: Select all
SkinSetValue("testContainer", "", "", "border", "rgb(0 0 200 / 50%)")
SkinSetValue("testContainer", "", "", "border-radius", "20px")
SkinSetValue("testContainer", "", "", "background-color", "orange")
;SkinSetValue("testContainer", "", "", "background-image", "url('icons/boingball.png'), url('icons/boingball2.png')")
SkinSetValue("testContainer", "", "", "background-image", "radial-gradient(yellow, orange, red), url('icons/boingball2.png'), url('icons/boingball.png'), linear-gradient(yellow, red)")
;SkinSetValue("testContainer", "", "", "background", "radial-gradient(yellow, orange, red), url('icons/boingball2.png'), url('icons/boingball.png'), linear-gradient(yellow, red)")
SkinSetValue("testContainer", "", "", "background-attachment", "fixed, fixed, scroll, scroll")
SkinSetValue("testContainer", "", "", "background-opacity", "50%, 100%, 20%, 70%")
SkinSetValue("testContainer", "", "", "background-position", "0 0, center, 0 0")
SkinSetValue("testContainer", "", "", "background-repeat", "no-repeat, no-repeat, repeat")
SkinSetValue("testContainer", "", "", "background-size", "100%, auto, 20px, auto")
;SkinSetValue("testContainer", "hover", "", "background-size", "100%, auto, 40px")
;SkinSetValue("testContainer", "", "", "background", "lightblue url('icons/boingball.png') no-repeat fixed center")
SkinSetValue("testContainer", "hover", "", "background-position-y", "0, 40%, 50px")
SkinSetValue("testContainer", "hover", "", "background-color", "gray")
SkinSetValue("testContainer", "", "", "transition", "background-color .5s, background-position 1s, background-size 1s")
SkinSetValue("dark:testContainer", "", "", "background-color", "gray")
SkinSetValue("testContainer.testWidget", "", "", "background-color", "red")
SkinSetValue("testContainer.testWidget", "hover", "", "background-color", "RGB(0, 255, 0)")
;SkinSetValue("testContainer.testWidget", "active", "", "background-color", "rgb(0, 255, 0)")
SkinSetValue("testContainer.testWidget", "", "", "border", "3px solid blue")
SkinSetValue("testContainer.testWidget", "", "", "border-left-width", "10px")
SkinSetValue("testContainer.testWidget", "", "", "border-color", "blue yellow")
;SkinSetValue("testContainer.testWidget", "", "", "border-radius", "0px")
;SkinSetValue("testContainer.testWidget", "", "", "border-top-left-radius", "20px 10px")
;SkinSetValue("testContainer.testWidget", "hover", "", "border-top-left-radius", "40px 20px")
;SkinSetValue("testContainer.testWidget", "hover", "", "border", "3px solid blue")
;SkinSetValue("testContainer.testWidget", "hover", "", "border-style", "double solid")
;SkinSetValue("testContainer.testWidget", "hover", "", "border-left-color", "purple")
;SkinSetValue("testContainer.testWidget", "hover", "", "border-top-style", "dashed")
SkinSetValue("testContainer.testWidget", "hover", "", "border-top", "ridge purple 8px")
SkinSetValue("testContainer.testWidget", "hover", "", "border-right", "ridge purple 10px")
SkinSetValue("testContainer.testWidget", "hover", "", "border-radius", "10px")
SkinSetValue("testContainer.testWidget", "hover", "", "border-top-left-radius", "40px 20px")
SkinSetValue("testContainer.testWidget", "hover", "", "border-bottom-right-radius", "40px 20px")
;SkinSetValue("testContainer.testWidget", "hover", "", "border-color", "blue yellow")
;SkinSetValue("testContainer.testWidget", "active", "", "border", "20px double blue")
SkinSetValue("testContainer.testWidget", "active", "", "border-top-left-radius", "40px 40px")
;SkinSetValue("testContainer.testWidget", "active", "", "border-radius", "20px")
;SkinSetValue("testContainer.testWidget", "active", "", "border-color", "pink yellow purple red")
SkinSetValue("testContainer.testWidget", "", "", "transition", "background-color 2s, border 1s, border-radius 1s, border-top-left-radius 3s, border-bottom-right-radius 3s, background-position-x 1s")
;SkinSetValue("testContainer.testWidget", "", "", "transition", "background-color 2s, border 1s, border-radius 1s")
SkinSetValue("testContainer.testWidget", "hover", "", "transition", "background-color 2s, border 1s ease-out-bounce, border-radius 1s ease-out-bounce, background-position-x 1s ease-out-bounce")
;SkinSetValue("testContainer.testWidget", "", "", "transition", "background-color 2s, border 1s")
;SkinSetValue("testContainer.testWidget", "hover", "", "transition", "background-color .5s, border 1s ease-out-bounce")
SkinSetValue("testWidget", "", "", "background-color", "green")
SkinSetValue("testContainer2", "", "", "background-color", "blue")
SkinSetValue("testContainer2.testWidget2", "", "", "background-color", "yellow")
SkinSetValue("testContainer2.testWidget2", "hover", "", "background-color", "RGBA(255, 0, 0, 0.5)")
;SkinSetValue("testContainer.testContainer2", "", "", "background-color", "grey")
;SkinSetValue("testContainer.testContainer2.testWidget2", "", "", "background-color", "brown")
SkinSetValue("testWidget3", "", "", "background-color", "red")
SkinSetValue("testWidget3", "", "circle", "background-color", "blue")
SkinSetValue("testWidget3", "", "circle", "border", "3px solid green")
SkinSetValue("testWidget3", "", "circle", "border-radius", "10px")
SkinSetValue("testWidget3", "hover", "", "background-color", "RGB(0, 255, 0)")
SkinSetValue("testWidget3", "hover", "circle", "background-color", "yellow")
SkinSetValue("testWidget3", "hover", "circle", "border", "20px double blue")
SkinSetValue("testWidget3", "hover", "circle", "border-radius", "40px")
SkinSetValue("testWidget3", "hover", "circle", "border-bottom-style", "ridge")
;SkinSetValue("testWidget3", "", "", "transition", "background-color 2s")
;SkinSetValue("testWidget3", "hover", "", "transition", "background-color .5s")
;SkinSetValue("testWidget3", "", "circle", "transition", "background-color linear 20s, border 4s, border-radius 2s")
;SkinSetValue("testWidget3", "hover", "circle", "transition", "background-color 4s, border 4s, border-radius 2s")
;SkinSetValue("testWidget3", "", "", "border", "solid RGBA(0,0,0,0)")
;SkinSetValue("testWidget3", "", "", "border-radius", "25px")
;SkinSetValue("testWidget3", "", "", "background-image", "linear-gradient(blue, pink), url('icons/boingball.png'), url('icons/background1.png')")
;SkinSetValue("testWidget3", "", "", "background-image", "linear-gradient(to right, hsl(120 75 25), hsl(120deg, 20%, 25%))")
;SkinSetValue("testWidget3", "", "", "background-image", "radial-gradient(ellipse farthest-side at 50% 50%, red, orange, yellow, green, blue), url('icons/background1.png')")
;SkinSetValue("testWidget3", "", "", "background-image", "radial-gradient(circle at 50% 0,rgb(255 0 0 / 50%),rgb(255 0 0 / 0%) 70.71%),radial-gradient(circle at 6.7% 75%,rgb(0 0 255 / 50%),rgb(0 0 255 / 0%) 70.71%),radial-gradient(circle at 93.3% 75%,rgb(0 255 0 / 50%),rgb(0 255 0 / 0%) 70.71%)")
;SkinSetValue("testWidget3", "", "", "background-image", "linear-gradient(217deg, rgba(255, 0, 0, .9), rgba(255, 0, 0, 0) 70.71%), linear-gradient(127deg, rgba(0, 255, 0, .9), rgba(0, 255, 0, 0) 70.71%), linear-gradient(336deg, rgba(0, 0, 255, .9), rgba(0, 0, 255, 0) 70.71%), url('icons/boingball.png')")
SkinSetValue("testWidget3", "", "", "background-image", "url('icons/boingball.png'), url('icons/boingball2.png'), url('icons/background1.png')")
;SkinSetValue("testWidget3", "", "", "background-position-x", "center, 0px")
;SkinSetValue("testWidget3", "", "", "background-position-y", "center, 0px")
SkinSetValue("testWidget3", "", "", "background-position", "bottom 20% right, 0, 0")
SkinSetValue("testWidget3", "", "", "background-repeat", "no-repeat, no-repeat, repeat")
;SkinSetValue("testWidget3", "hover", "", "background-image", "url('icons/boingball.png'), url('icons/boingball2.png'), url('icons/background1.png')")
SkinSetValue("testWidget3", "hover", "", "background-position-x", "50%, center")
SkinSetValue("testWidget3", "hover", "", "background-position-y", "center, 49%")
;SkinSetValue("testWidget3", "", "", "background-size", "50px 50px, 50px auto, 100% 100%")
SkinSetValue("testWidget3", "hover", "", "background-size", "300%, auto, auto, auto")
SkinSetValue("testWidget3", "", "", "background-opacity", "50%, 50%, 100%, 100%")
SkinSetValue("testWidget3", "hover", "", "background-opacity", "0%, 0%, 100%, 0%")
;SkinSetValue("testWidget3", "active", "", "background-opacity", "0%, 100%, 0%, 0%")
SkinSetValue("testWidget3", "", "", "transition", "background-color 2s, background-position-x 1s, background-position-y 1s, background-size 1s, background-opacity 1s")
SkinSetValue("testWidget", "", "", "background-image", "url('icons/boingball.png'), url('icons/boingball2.png'), url('icons/background1.png')")
;SkinSetValue("testWidget", "hover", "", "background-image", "url('icons/boingball.png'), url('icons/background1.png')")
SkinSetValue("testWidget", "", "", "background-repeat", "no-repeat")
SkinSetValue("testWidget", "", "", "background-position-x", "20px, 30px, 0px")
SkinSetValue("testWidget", "hover", "", "background-position-x", "60px, 0px, -130px")
Code: Select all
/* ---[ scrollbar ]--------------------------------------------------------------------------------- */
/* Default scrollbar styles */
.scrollbar {
background-color: #F0F0F0;
}
.scrollbar thumb1 {
background-color: #F0F0F0;
transition: background-color 1s;
}
.scrollbar thumb2 {
background-color: #F0F0F0;
transition: background-color 1s;
}
.scrollbar trackbar {
background-color: #CDCDCD;
transition: background-color 1s;
}
/* Active scrollbar styles */
.scrollbar:active thumb1 {
background-color: #606060;
transition: background-color 0s;
}
.scrollbar:active thumb2 {
background-color: #606060;
transition: background-color 0s;
}
.scrollbar:active trackbar {
background-color: #606060;
transition: background-color 0s;
}
/* Hover scrollbar styles */
.scrollbar:hover thumb1 {
background-color: #DADADA;
transition: background-color .3s;
}
.scrollbar:hover thumb2 {
background-color: #DADADA;
transition: background-color .3s;
}
.scrollbar:hover trackbar {
background-color: #A6A6A6;
transition: background-color .3s;
}
/* ---[ testContainer ]----------------------------------------------------------------------------- */
/* Default testContainer styles */
.testContainer {
border: rgb(0 0 200 / 50%);
border-radius: 20px;
background-color: orange;
background-image: radial-gradient(yellow, orange, red), url('icons/boingball2.png'), url('icons/boingball.png'), linear-gradient(yellow, red);
background-attachment: fixed, fixed, scroll, scroll;
background-opacity: 50%, 100%, 20%, 70%;
background-position: 0 0, center, 0 0;
background-repeat: no-repeat, no-repeat, repeat;
background-size: 100%, auto, 20px, auto;
transition: background-color .5s, background-position 1s, background-size 1s;
}
/* Hover testContainer styles */
.testContainer:hover {
background-position-y: 0, 40%, 50px;
background-color: gray;
}
/* ---[ testContainer testWidget ]------------------------------------------------------------------ */
/* Default testContainer testWidget styles */
.testContainer .testWidget {
background-color: red;
border: 3px solid blue;
border-left-width: 10px;
border-color: blue yellow;
transition: background-color 2s, border 1s, border-radius 1s, border-top-left-radius 3s, border-bottom-right-radius 3s, background-position-x 1s;
}
/* Active testContainer testWidget styles */
.testContainer .testWidget:active {
border-top-left-radius: 40px 40px;
}
/* Hover testContainer testWidget styles */
.testContainer .testWidget:hover {
background-color: RGB(0, 255, 0);
border-top: ridge purple 8px;
border-right: ridge purple 10px;
border-radius: 10px;
border-top-left-radius: 40px 20px;
border-bottom-right-radius: 40px 20px;
transition: background-color 2s, border 1s ease-out-bounce, border-radius 1s ease-out-bounce, background-position-x 1s ease-out-bounce;
}
/* ---[ testWidget ]-------------------------------------------------------------------------------- */
/* Default testWidget styles */
.testWidget {
background-color: green;
background-image: url('icons/boingball.png'), url('icons/boingball2.png'), url('icons/background1.png');
background-repeat: no-repeat;
background-position-x: 20px, 30px, 0px;
}
/* Hover testWidget styles */
.testWidget:hover {
background-position-x: 60px, 0px, -130px;
}
/* ---[ testContainer2 ]---------------------------------------------------------------------------- */
/* Default testContainer2 styles */
.testContainer2 {
background-color: blue;
}
/* ---[ testContainer2 testWidget2 ]---------------------------------------------------------------- */
/* Default testContainer2 testWidget2 styles */
.testContainer2 .testWidget2 {
background-color: yellow;
}
/* Hover testContainer2 testWidget2 styles */
.testContainer2 .testWidget2:hover {
background-color: RGBA(255, 0, 0, 0.5);
}
/* ---[ testWidget3 ]------------------------------------------------------------------------------- */
/* Default testWidget3 styles */
.testWidget3 {
background-color: red;
background-image: url('icons/boingball.png'), url('icons/boingball2.png'), url('icons/background1.png');
background-position: bottom 20% right, 0, 0;
background-repeat: no-repeat, no-repeat, repeat;
background-opacity: 50%, 50%, 100%, 100%;
transition: background-color 2s, background-position-x 1s, background-position-y 1s, background-size 1s, background-opacity 1s;
}
.testWidget3 circle {
background-color: blue;
border: 3px solid green;
border-radius: 10px;
}
/* Hover testWidget3 styles */
.testWidget3:hover {
background-color: RGB(0, 255, 0);
background-position-x: 50%, center;
background-position-y: center, 49%;
background-size: 300%, auto, auto, auto;
background-opacity: 0%, 0%, 100%, 0%;
}
.testWidget3:hover circle {
background-color: yellow;
border: 20px double blue;
border-radius: 40px;
border-bottom-style: ridge;
}