Rotation icons: make 'em dynamic. (#7440)

Followup to #7306.

As discussed there, the only way to make everybody happy is to make 'em context-aware. At which point, trying to make the fact that it's a *device* rotation and not a *content* one come across in the icon design loses its interest, and would actually only further muddy the issue.

So, these are similar is spirit to the traditional rotation icons in pretty much anything that can rotate text content, with a special inspiration from the Kindle 4 & PocketBook UI.

Fix #7429
reviewable/pr7460/r1
NiLuJe 3 years ago committed by GitHub
parent f3341d9dc0
commit e33476996a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -22,19 +22,48 @@ local CreOptions = {
{
name = "rotation_mode",
name_text = _("Rotation"),
item_icons = {
"rotation.90CCW",
"rotation.0UR",
"rotation.90CW",
"rotation.180UD",
},
item_icons_func = function()
if Screen:getRotationMode() == Screen.ORIENTATION_PORTRAIT then
-- P, 0UR
return {
"rotation.P.90CCW",
"rotation.P.0UR",
"rotation.P.90CW",
"rotation.P.180UD",
}
elseif Screen:getRotationMode() == Screen.ORIENTATION_PORTRAIT_ROTATED then
-- P, 180UD
return {
"rotation.P.90CW",
"rotation.P.180UD",
"rotation.P.90CCW",
"rotation.P.0UR",
}
elseif Screen:getRotationMode() == Screen.ORIENTATION_LANDSCAPE then
-- L, 90CW
return {
"rotation.L.90CCW",
"rotation.L.0UR",
"rotation.L.90CW",
"rotation.L.180UD",
}
else
-- L, 90CCW
return {
"rotation.L.90CW",
"rotation.L.180UD",
"rotation.L.90CCW",
"rotation.L.0UR",
}
end
end,
-- For Dispatcher's sake
labels = {C_("Rotation", "⤹ 90°"), C_("Rotation", "↑ 0°"), C_("Rotation", "⤸ 90°"), C_("Rotation", "↓ 180°")},
alternate = false,
values = {Screen.ORIENTATION_LANDSCAPE_ROTATED, Screen.ORIENTATION_PORTRAIT, Screen.ORIENTATION_LANDSCAPE, Screen.ORIENTATION_PORTRAIT_ROTATED},
args = {Screen.ORIENTATION_LANDSCAPE_ROTATED, Screen.ORIENTATION_PORTRAIT, Screen.ORIENTATION_LANDSCAPE, Screen.ORIENTATION_PORTRAIT_ROTATED},
default_arg = 0,
current_func = function() return Device.screen:getRotationMode() end,
current_func = function() return Screen:getRotationMode() end,
event = "SetRotationMode",
name_text_hold_callback = optionsutil.showValues,
},
@ -50,7 +79,7 @@ local CreOptions = {
--[[ Commented out, to have it also available in portrait mode
current_func = function()
-- If not in landscape mode, shows "1" as selected
if Device.screen:getScreenMode() ~= "landscape" then
if Screen:getScreenMode() ~= "landscape" then
return 1
end
-- if we return nil, ConfigDialog will pick the one from the
@ -59,7 +88,7 @@ local CreOptions = {
]]--
enabled_func = function(configurable)
return optionsutil.enableIfEquals(configurable, "view_mode", 0) -- "page" mode
-- and Device.screen:getScreenMode() == "landscape"
-- and Screen:getScreenMode() == "landscape"
end,
name_text_hold_callback = optionsutil.showValues,
help_text = _([[Render the document on half the screen width and display two pages at once with a single page number. This makes it look like two columns.
@ -602,7 +631,7 @@ Whether enabled or disabled, KOReader's own status bar at the bottom of the scre
args = {true, false},
default_arg = nil,
event = "ToggleNightmodeImages",
show_func = function() return Device.screen.night_mode end,
show_func = function() return Screen.night_mode end,
name_text_hold_callback = optionsutil.showValues,
help_text = _([[Disable the automagic inversion of images when nightmode is enabled. Useful if your book contains mainly inlined mathematical content or scene break art.]]),
},

@ -29,12 +29,41 @@ local KoptOptions = {
{
name = "rotation_mode",
name_text = _("Rotation"),
item_icons = {
"rotation.90CCW",
"rotation.0UR",
"rotation.90CW",
"rotation.180UD",
},
item_icons_func = function()
if Screen:getRotationMode() == Screen.ORIENTATION_PORTRAIT then
-- P, 0UR
return {
"rotation.P.90CCW",
"rotation.P.0UR",
"rotation.P.90CW",
"rotation.P.180UD",
}
elseif Screen:getRotationMode() == Screen.ORIENTATION_PORTRAIT_ROTATED then
-- P, 180UD
return {
"rotation.P.90CW",
"rotation.P.180UD",
"rotation.P.90CCW",
"rotation.P.0UR",
}
elseif Screen:getRotationMode() == Screen.ORIENTATION_LANDSCAPE then
-- L, 90CW
return {
"rotation.L.90CCW",
"rotation.L.0UR",
"rotation.L.90CW",
"rotation.L.180UD",
}
else
-- L, 90CCW
return {
"rotation.L.90CW",
"rotation.L.180UD",
"rotation.L.90CCW",
"rotation.L.0UR",
}
end
end,
-- For Dispatcher's sake
labels = {C_("Rotation", "⤹ 90°"), C_("Rotation", "↑ 0°"), C_("Rotation", "⤸ 90°"), C_("Rotation", "↓ 180°")},
alternate = false,

@ -486,8 +486,11 @@ function ConfigOption:init()
end
-- Icons (ex: columns, text align, with PDF)
if self.options[c].item_icons then
local items_count = #self.options[c].item_icons
local item_icons = self.options[c].item_icons_func and
self.options[c].item_icons_func(self.config.configurable, self.config.document) or
self.options[c].item_icons
if item_icons then
local items_count = #item_icons
local icon_max_height = math.min(option_height, max_icon_height)
local icon_max_width = math.floor(option_widget_width / items_count)
local icon_size = math.min(icon_max_height, icon_max_width)
@ -497,17 +500,17 @@ function ConfigOption:init()
-- We don't want the underline to be that far away from the image content,
-- so we use some negative padding to eat a bit on their padding.
local underline_padding = - math.floor(0.05 * icon_size)
for d = 1, #self.options[c].item_icons do
for d = 1, items_count do
local option_item = OptionIconItem:new{
icon = IconWidget:new{
icon = self.options[c].item_icons[d],
icon = item_icons[d],
dim = not enabled,
width = icon_size,
height = icon_size,
},
underline_padding = underline_padding,
padding_left = d > 1 and horizontal_half_padding,
padding_right = d < #self.options[c].item_icons and horizontal_half_padding,
padding_right = d < items_count and horizontal_half_padding,
color = d == current_item and (enabled and Blitbuffer.COLOR_BLACK or Blitbuffer.COLOR_DARK_GRAY) or Blitbuffer.COLOR_WHITE,
enabled = enabled,
}

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.L.0UR.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 31.5,27 v 6"
id="path842-7"
sodipodi:nodetypes="cc" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="11"
y="-42"
ry="3.0857143"
transform="rotate(90)" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 11,15 V 26.127273"
id="path837" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15,15 V 32.999999"
id="path839" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 19,15 V 33"
id="path841" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 27,28.5 V 33"
id="path842"
sodipodi:nodetypes="cc" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 35.999995,25 v 8"
id="path842-4"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="rotate(90,24,24)"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.L.180UD.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 16.5,21 V 15"
id="path842-7"
sodipodi:nodetypes="cc" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="-37"
y="6"
ry="3.0857143"
transform="rotate(-90)" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 37,33 V 21.872727"
id="path837" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 33,33 V 15.000001"
id="path839" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 29,33 V 15"
id="path841" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 21,19.5 V 15"
id="path842"
sodipodi:nodetypes="cc" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 12.000005,23 V 15"
id="path842-4"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="rotate(-90,24,24)"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.L.90CCW.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="11"
y="-42"
ry="3.0857143"
transform="rotate(90)" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 27,31 H 9.872727"
id="path837"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 25,26 H 10"
id="path839"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 38,16 H 14.5"
id="path841"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="rotate(180,26.410654,21.5)"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 23.5,21 H 10"
id="path841-7"
sodipodi:nodetypes="cc" /></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.L.90CW.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="-37"
y="6"
ry="3.0857143"
transform="rotate(-90)" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 21,17 H 38.127273"
id="path837"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 23,22 H 38"
id="path839"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 10,32 H 33.5"
id="path841"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="translate(-4.821309,5.000001)"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 24.5,27 H 38"
id="path841-7"
sodipodi:nodetypes="cc" /></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.P.0UR.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 27,16.5 h 6"
id="path842-7"
sodipodi:nodetypes="cc" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title /></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="11"
y="6"
ry="3.0857143" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15,37 H 26.127273"
id="path837" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15,33 H 32.999999"
id="path839" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 15,29 H 33"
id="path841" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 28.5,21 H 33"
id="path842"
sodipodi:nodetypes="cc" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="m 25,12.000005 h 8"
id="path842-4"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1,89 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.P.180UD.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 21,31.5 H 15"
id="path842-7"
sodipodi:nodetypes="cc" /><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="-37"
y="-42"
ry="3.0857143"
transform="scale(-1)" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 33,11 H 21.872727"
id="path837" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 33,15 H 15.000001"
id="path839" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 33,19 H 15"
id="path841" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 19.5,27 H 15"
id="path842"
sodipodi:nodetypes="cc" /><path
style="fill:none;fill-rule:evenodd;stroke:#000000;stroke-width:2.00001;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
d="M 23,35.999995 H 15"
id="path842-4"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="rotate(180,24,24)"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g></svg>

After

Width:  |  Height:  |  Size: 4.3 KiB

@ -0,0 +1,83 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.P.90CCW.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="11"
y="6"
ry="3.0857143" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 31,21 V 38.127273"
id="path837"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 26,23 V 38"
id="path839"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 16,10 V 33.5"
id="path841"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="rotate(90,23.910654,19.089345)"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 21,24.5 V 38"
id="path841-7"
sodipodi:nodetypes="cc" /></svg>

After

Width:  |  Height:  |  Size: 3.8 KiB

@ -0,0 +1,84 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
version="1.1"
width="48"
height="48"
viewBox="0 0 48 48"
enable-background="new 0 0 24.00 24.00"
xml:space="preserve"
id="svg4"
sodipodi:docname="rotation.P.90CW.svg"
inkscape:version="1.0.2 (e86c870879, 2021-01-15)"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"><sodipodi:namedview
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1"
objecttolerance="10"
gridtolerance="10"
guidetolerance="10"
inkscape:pageopacity="0"
inkscape:pageshadow="2"
inkscape:window-width="2560"
inkscape:window-height="1381"
id="namedview7"
showgrid="true"
inkscape:zoom="21"
inkscape:cx="24"
inkscape:cy="24.01001"
inkscape:window-x="0"
inkscape:window-y="0"
inkscape:window-maximized="1"
inkscape:current-layer="svg4"
inkscape:document-rotation="0"
inkscape:snap-page="true"
showguides="false"><inkscape:grid
type="xygrid"
id="grid893"
empspacing="4"
originx="0"
originy="0" /></sodipodi:namedview><metadata
id="metadata10"><rdf:RDF><cc:Work
rdf:about=""><dc:format>image/svg+xml</dc:format><dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" /><dc:title></dc:title></cc:Work></rdf:RDF></metadata><defs
id="defs8" />
<rect
style="fill:none;stroke:#000000;stroke-width:2;stroke-linejoin:round"
id="rect1443"
width="26"
height="36"
x="-37"
y="-42"
ry="3.0857143"
transform="scale(-1)" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 17,27 V 9.872727"
id="path837"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 22,25 V 10"
id="path839"
sodipodi:nodetypes="cc" /><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 32,38 V 14.5"
id="path841"
sodipodi:nodetypes="cc" /><g
aria-label="A"
id="text923"
style="font-weight:bold;font-size:16px;line-height:125%;font-family:sans-serif;-inkscape-font-specification:'sans-serif Bold';letter-spacing:0px;word-spacing:0px;fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
transform="rotate(-90,28.910655,23.910654)"><path
d="M 20.910655,9.9999999 C 20.650656,10.173333 18.709326,11.73333 17.547995,15.30399 l -1.47333,4.558657 c -0.416,1.299998 -0.727999,2.339996 -1.074665,2.859995 0,0 0.571999,0.190666 0.970665,0.190666 1.62933,0 2.027996,-1.403997 2.461328,-2.703995 l 0.294666,-0.918665 h 4.367992 l 0.294666,0.918665 c 0.433333,1.299998 0.831998,2.703995 2.461329,2.703995 0.398665,0 0.970664,-0.190666 0.970664,-0.190666 -0.346666,-0.519999 -0.658665,-1.559997 -1.074664,-2.859995 L 24.273315,15.30399 c -1.161331,-3.57066 -3.10266,-5.130657 -3.36266,-5.3039901 z m 0,2.8253281 c 0,0 0.710665,1.47333 1.143998,2.929327 l 0.537332,1.802664 h -3.36266 l 0.537332,-1.802664 c 0.433333,-1.455997 0.866665,-2.495995 1.143998,-2.929327 z"
style="font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;font-size:17.3333px;font-family:Diavlo;-inkscape-font-specification:'Diavlo Bold';fill:#000000;fill-opacity:1;stroke:none;stroke-opacity:1"
id="path925" /></g><path
style="fill:none;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="M 27,23.5 V 10"
id="path841-7"
sodipodi:nodetypes="cc" /></svg>

After

Width:  |  Height:  |  Size: 3.9 KiB

Loading…
Cancel
Save