diff --git a/.travis.yml b/.travis.yml index bc924a90..8e2619bf 100644 --- a/.travis.yml +++ b/.travis.yml @@ -34,14 +34,13 @@ matrix: - BUILD_SHARED_LIBS=OFF - CFLAGS=-Werror - os: linux - dist: xenial + dist: focal name: "Wayland shared library" addons: apt: - sources: - - ppa:kubuntu-ppa/backports packages: - extra-cmake-modules + - wayland-protocols - libwayland-dev - libxkbcommon-dev - libegl1-mesa-dev @@ -50,14 +49,13 @@ matrix: - BUILD_SHARED_LIBS=ON - CFLAGS=-Werror - os: linux - dist: xenial + dist: focal name: "Wayland static library" addons: apt: - sources: - - ppa:kubuntu-ppa/backports packages: - extra-cmake-modules + - wayland-protocols - libwayland-dev - libxkbcommon-dev - libegl1-mesa-dev @@ -106,12 +104,6 @@ script: fi - mkdir build - cd build - - if test -n "${USE_WAYLAND}"; then - git clone git://anongit.freedesktop.org/wayland/wayland-protocols; - pushd wayland-protocols; - git checkout 1.15 && ./autogen.sh --prefix=/usr && make && sudo make install; - popd; - fi - cmake -DCMAKE_VERBOSE_MAKEFILE=ON -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS} -DGLFW_USE_WAYLAND=${USE_WAYLAND} -DGLFW_USE_OSMESA=${USE_OSMESA} .. - cmake --build . notifications: diff --git a/CMakeLists.txt b/CMakeLists.txt index be7b6397..f4f30293 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -8,6 +8,10 @@ if (POLICY CMP0054) cmake_policy(SET CMP0054 NEW) endif() +if (POLICY CMP0069) + cmake_policy(SET CMP0069 NEW) +endif() + if (POLICY CMP0077) cmake_policy(SET CMP0077 NEW) endif() diff --git a/README.md b/README.md index ed23baf2..44770590 100644 --- a/README.md +++ b/README.md @@ -125,10 +125,19 @@ information on what to include when reporting a bug. - Added `GLFW_POINTING_HAND_CURSOR` alias for `GLFW_HAND_CURSOR` (#427) - Bugfix: Some extension loader headers did not prevent default OpenGL header inclusion (#1695) + - [Win32] Disabled framebuffer transparency on Windows 7 when DWM windows are + opaque (#1512) - [Win32] Bugfix: Non-BMP Unicode codepoint input was reported as UTF-16 + - [Win32] Bugfix: Monitor functions could return invalid values after + configuration change (#1761) + - [Win32] Bugfix: Initialization would segfault on Windows 8 (not 8.1) (#1775) + - [Win32] Bugfix: Duplicate size events were not filtered (#1610) - [Cocoa] Changed `EGLNativeWindowType` from `NSView` to `CALayer` (#1169) - [Cocoa] Bugfix: Non-BMP Unicode codepoint input was reported as UTF-16 (#1635) + - [Cocoa] Bugfix: Failing to retrieve the refresh rate of built-in displays + could leak memory + - [Cocoa] Bugfix: Objective-C files were compiled as C with CMake 3.19 (#1787) - [X11] Bugfix: IME input of CJK was broken for "C" locale (#1587,#1636) - [X11] Bugfix: Xlib errors caused by other parts of the application could be reported as GLFW errors @@ -143,6 +152,8 @@ information on what to include when reporting a bug. - [Wayland] Bugfix: Retrieving partial framebuffer size would segfault - [Wayland] Bugfix: Scrolling offsets were inverted compared to other platforms (#1463) + - [Wayland] Bugfix: Client-Side Decorations were destroyed in the wrong worder + (#1798) ## Contact @@ -183,6 +194,7 @@ skills. - Rok Breulj - Kai Burjack - Martin Capitanio + - Nicolas Caramelli - David Carlier - Arturo Castro - Chi-kwan Chan @@ -221,6 +233,7 @@ skills. - Eloi Marín Gratacós - Stefan Gustavson - Jonathan Hale + - hdf89shfdfs - Sylvain Hellegouarch - Matthew Henry - heromyth @@ -245,11 +258,13 @@ skills. - Konstantin Käfer - Eric Larson - Francis Lecavalier + - Jong Won Lee - Robin Leffmann - Glenn Lewis - Shane Liesegang - Anders Lindqvist - Leon Linhart + - Marco Lizza - Eyal Lotem - Aaron Loucks - Luflosi @@ -289,6 +304,7 @@ skills. - Braden Pellett - Christopher Pelloux - Arturo J. Pérez + - Vladimir Perminov - Anthony Pesch - Orson Peters - Emmanuel Gil Peyrot @@ -361,6 +377,7 @@ skills. - Santi Zupancic - Jonas Ådahl - Lasse Öörni + - Leonard König - All the unmentioned and anonymous contributors in the GLFW community, for bug reports, patches, feedback, testing and encouragement diff --git a/docs/CODEOWNERS b/docs/CODEOWNERS index ec174185..018808ba 100644 --- a/docs/CODEOWNERS +++ b/docs/CODEOWNERS @@ -4,7 +4,7 @@ src/wl_* @linkmauve docs/*.css @glfw/webdev -docs/*.less @glfw/webdev +docs/*.scss @glfw/webdev docs/*.html @glfw/webdev docs/*.xml @glfw/webdev diff --git a/docs/extra.css b/docs/extra.css index 03a7f259..05c1938c 100644 --- a/docs/extra.css +++ b/docs/extra.css @@ -1 +1 @@ -.sm-dox,.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted,.sm-dox ul a:hover{background:none;text-shadow:none}.sm-dox a span.sub-arrow{border-color:#f2f2f2 transparent transparent transparent}.sm-dox a span.sub-arrow:active,.sm-dox a span.sub-arrow:focus,.sm-dox a span.sub-arrow:hover,.sm-dox a:hover span.sub-arrow{border-color:#f60 transparent transparent transparent}.sm-dox ul a span.sub-arrow:active,.sm-dox ul a span.sub-arrow:focus,.sm-dox ul a span.sub-arrow:hover,.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #f60}.sm-dox ul a:hover{background:#666;text-shadow:none}.sm-dox ul.sm-nowrap a{color:#4d4d4d;text-shadow:none}#main-nav,#main-menu,#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.memdoc,dl.reflist dd,div.toc li,.ah,span.lineno,span.lineno a,span.lineno a:hover,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,.doxtable code,.markdownTable code{background:none}#titlearea,.footer,.contents,div.header,.memdoc,table.doxtable td,table.doxtable th,table.markdownTable td,table.markdownTable th,hr,.memSeparator{border:none}#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.reflist dt a.el,.levels span,.directory .levels span{text-shadow:none}.memdoc,dl.reflist dd{box-shadow:none}div.headertitle,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,table.doxtable code,table.markdownTable code{padding:0}#nav-path,.directory .levels,span.lineno{display:none}html,#titlearea,.footer,tr.even,.directory tr.even,.doxtable tr:nth-child(even),tr.markdownTableBody:nth-child(even),.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,code,.markdownTableRowEven{background:#f2f2f2}body{color:#4d4d4d}h1,h2,h2.groupheader,h3,div.toc h3,h4,h5,h6,strong,em{color:#1a1a1a;border-bottom:none}h1{padding-top:0.5em;font-size:180%}h2{padding-top:0.5em;margin-bottom:0;font-size:140%}h3{padding-top:0.5em;margin-bottom:0;font-size:110%}.glfwheader{font-size:16px;height:64px;max-width:920px;min-width:800px;padding:0 32px;margin:0 auto}#glfwhome{line-height:64px;padding-right:48px;color:#666;font-size:2.5em;background:url("https://www.glfw.org/css/arrow.png") no-repeat right}.glfwnavbar{list-style-type:none;margin:0 auto;float:right}#glfwhome,.glfwnavbar li{float:left}.glfwnavbar a,.glfwnavbar a:visited{line-height:64px;margin-left:2em;display:block;color:#666}#glfwhome,.glfwnavbar a,.glfwnavbar a:visited{transition:.35s ease}#titlearea,.footer{color:#666}address.footer{text-align:center;padding:2em;margin-top:3em}#top{background:#666}#main-nav{max-width:960px;min-width:800px;margin:0 auto;font-size:13px}#main-menu{max-width:920px;min-width:800px;margin:0 auto;font-size:13px}.memtitle{display:none}.memproto,.memname{font-weight:bold;text-shadow:none}#main-menu{height:36px;display:block;position:relative}#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li{color:#f2f2f2}#main-menu li ul.sm-nowrap li a{color:#4d4d4d}#main-menu li ul.sm-nowrap li a:hover{color:#f60}.contents{min-height:590px}div.contents,div.header{max-width:920px;margin:0 auto;padding:0 32px;background:#fff none}table.doxtable th,table.markdownTable th,dl.reflist dt{background:linear-gradient(to bottom, #ffa733 0, #f60 100%);box-shadow:inset 0 0 32px #f60;text-shadow:0 -1px 1px #b34700;text-align:left;color:#fff}dl.reflist dt a.el{color:#f60;padding:.2em;border-radius:4px;background-color:#ffe0cc}div.toc{float:none;width:auto}div.toc h3{font-size:1.17em}div.toc ul{padding-left:1.5em}div.toc li{font-size:1em;padding-left:0;list-style-type:disc}div.toc,.memproto,div.qindex,div.ah{background:linear-gradient(to bottom, #f2f2f2 0, #e6e6e6 100%);box-shadow:inset 0 0 32px #e6e6e6;text-shadow:0 1px 1px #fff;color:#1a1a1a;border:2px solid #e6e6e6;border-radius:4px}.paramname{color:#803300}dl.reflist dt{border:2px solid #f60;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:none}dl.reflist dd{border:2px solid #f60;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top:none}table.doxtable,table.markdownTable{border-collapse:inherit;border-spacing:0;border:2px solid #f60;border-radius:4px}a,a:hover,a:visited,a:visited:hover,.contents a:visited,.el,a.el:visited,#glfwhome:hover,#main-menu a:hover,span.lineno a:hover{color:#f60;text-decoration:none}div.directory{border-collapse:inherit;border-spacing:0;border:2px solid #f60;border-radius:4px}hr,.memSeparator{height:2px;background:linear-gradient(to right, #f2f2f2 0, #d9d9d9 50%, #f2f2f2 100%)}dl.note,dl.pre,dl.post,dl.invariant{background:linear-gradient(to bottom, #ddfad1 0, #cbf7ba 100%);box-shadow:inset 0 0 32px #baf5a3;color:#1e5309;border:2px solid #afe599}dl.warning,dl.attention{background:linear-gradient(to bottom, #fae8d1 0, #f7ddba 100%);box-shadow:inset 0 0 32px #f5d1a3;color:#533309;border:2px solid #e5c499}dl.deprecated,dl.bug{background:linear-gradient(to bottom, #fad1e3 0, #f7bad6 100%);box-shadow:inset 0 0 32px #f5a3c8;color:#53092a;border:2px solid #e599bb}dl.todo,dl.test{background:linear-gradient(to bottom, #d1ecfa 0, #bae3f7 100%);box-shadow:inset 0 0 32px #a3daf5;color:#093a53;border:2px solid #99cce5}dl.note,dl.pre,dl.post,dl.invariant,dl.warning,dl.attention,dl.deprecated,dl.bug,dl.todo,dl.test{border-radius:4px;padding:1em;text-shadow:0 1px 1px #fff;margin:1em 0}.note a,.pre a,.post a,.invariant a,.warning a,.attention a,.deprecated a,.bug a,.todo a,.test a,.note a:visited,.pre a:visited,.post a:visited,.invariant a:visited,.warning a:visited,.attention a:visited,.deprecated a:visited,.bug a:visited,.todo a:visited,.test a:visited{color:inherit}div.line{line-height:inherit}div.fragment,pre.fragment{background:#f2f2f2;border-radius:4px;border:none;padding:1em;overflow:auto;border-left:4px solid #ccc;margin:1em 0}.lineno a,.lineno a:visited,.line,pre.fragment{color:#4d4d4d}span.preprocessor,span.comment{color:#007899}a.code,a.code:visited{color:#e64500}span.keyword,span.keywordtype,span.keywordflow{color:#404040;font-weight:bold}span.stringliteral{color:#360099}code{padding:.1em;border-radius:4px} +.sm-dox,.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted,.sm-dox ul a:hover{background:none;text-shadow:none}.sm-dox a span.sub-arrow{border-color:#f2f2f2 transparent transparent transparent}.sm-dox a span.sub-arrow:active,.sm-dox a span.sub-arrow:focus,.sm-dox a span.sub-arrow:hover,.sm-dox a:hover span.sub-arrow{border-color:#f60 transparent transparent transparent}.sm-dox ul a span.sub-arrow:active,.sm-dox ul a span.sub-arrow:focus,.sm-dox ul a span.sub-arrow:hover,.sm-dox ul a:hover span.sub-arrow{border-color:transparent transparent transparent #f60}.sm-dox ul a:hover{background:#666;text-shadow:none}.sm-dox ul.sm-nowrap a{color:#4d4d4d;text-shadow:none}#main-nav,#main-menu,#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.memdoc,dl.reflist dd,div.toc li,.ah,span.lineno,span.lineno a,span.lineno a:hover,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,.doxtable code,.markdownTable code{background:none}#titlearea,.footer,.contents,div.header,.memdoc,table.doxtable td,table.doxtable th,table.markdownTable td,table.markdownTable th,hr,.memSeparator{border:none}#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.reflist dt a.el,.levels span,.directory .levels span{text-shadow:none}.memdoc,dl.reflist dd{box-shadow:none}div.headertitle,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,table.doxtable code,table.markdownTable code{padding:0}#nav-path,.directory .levels,span.lineno{display:none}html,#titlearea,.footer,tr.even,.directory tr.even,.doxtable tr:nth-child(even),tr.markdownTableBody:nth-child(even),.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,code,.markdownTableRowEven{background:#f2f2f2}body{color:#4d4d4d}h1,h2,h2.groupheader,h3,div.toc h3,h4,h5,h6,strong,em{color:#1a1a1a;border-bottom:none}h1{padding-top:.5em;font-size:180%}h2{padding-top:.5em;margin-bottom:0;font-size:140%}h3{padding-top:.5em;margin-bottom:0;font-size:110%}.glfwheader{font-size:16px;min-height:64px;max-width:920px;padding:0 32px;margin:0 auto;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:stretch}#glfwhome{line-height:64px;padding-right:48px;color:#666;font-size:2.5em;background:url("https://www.glfw.org/css/arrow.png") no-repeat right}.glfwnavbar{list-style-type:none;margin:0 0 0 auto;float:right}#glfwhome,.glfwnavbar li{float:left}.glfwnavbar a,.glfwnavbar a:visited{line-height:64px;margin-left:2em;display:block;color:#666}.glfwnavbar{padding-left:0}#glfwhome,.glfwnavbar a,.glfwnavbar a:visited{transition:.35s ease}#titlearea,.footer{color:#666}address.footer{text-align:center;padding:2em;margin-top:3em}#top{background:#666}#main-nav{max-width:960px;margin:0 auto;font-size:13px}#main-menu{max-width:920px;margin:0 auto;font-size:13px}.memtitle{display:none}.memproto,.memname{font-weight:bold;text-shadow:none}#main-menu{min-height:36px;display:flex;flex-direction:row;flex-wrap:wrap;justify-content:flex-start;align-items:center;align-content:stretch}#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li{color:#f2f2f2}#main-menu li ul.sm-nowrap li a{color:#4d4d4d}#main-menu li ul.sm-nowrap li a:hover{color:#f60}#main-menu>li:last-child{margin:0 0 0 auto}.contents{min-height:590px}div.contents,div.header{max-width:920px;margin:0 auto;padding:0 32px;background:#fff none}table.doxtable th,table.markdownTable th,dl.reflist dt{background:linear-gradient(to bottom, #ffa733 0%, #ff6600 100%);box-shadow:inset 0 0 32px #f60;text-shadow:0 -1px 1px #b34700;text-align:left;color:#fff}dl.reflist dt a.el{color:#f60;padding:.2em;border-radius:4px;background-color:#ffe0cc}div.toc{float:none;width:auto}div.toc h3{font-size:1.17em}div.toc ul{padding-left:1.5em}div.toc li{font-size:1em;padding-left:0;list-style-type:disc}div.toc,.memproto,div.qindex,div.ah{background:linear-gradient(to bottom, #f2f2f2 0%, #e6e6e6 100%);box-shadow:inset 0 0 32px #e6e6e6;text-shadow:0 1px 1px #fff;color:#1a1a1a;border:2px solid #e6e6e6;border-radius:4px}.paramname{color:#803300}dl.reflist dt{border:2px solid #f60;border-top-left-radius:4px;border-top-right-radius:4px;border-bottom:none}dl.reflist dd{border:2px solid #f60;border-bottom-right-radius:4px;border-bottom-left-radius:4px;border-top:none}table.doxtable,table.markdownTable{border-collapse:inherit;border-spacing:0;border:2px solid #f60;border-radius:4px}a,a:hover,a:visited,a:visited:hover,.contents a:visited,.el,a.el:visited,#glfwhome:hover,#main-menu a:hover,span.lineno a:hover{color:#f60;text-decoration:none}div.directory{border-collapse:inherit;border-spacing:0;border:2px solid #f60;border-radius:4px}hr,.memSeparator{height:2px;background:linear-gradient(to right, #f2f2f2 0%, #d9d9d9 50%, #f2f2f2 100%)}dl.note,dl.pre,dl.post,dl.invariant{background:linear-gradient(to bottom, #ddfad1 0%, #cbf7ba 100%);box-shadow:inset 0 0 32px #baf5a3;color:#1e5309;border:2px solid #afe699}dl.warning,dl.attention{background:linear-gradient(to bottom, #fae8d1 0%, #f7ddba 100%);box-shadow:inset 0 0 32px #f5d1a3;color:#533309;border:2px solid #e6c499}dl.deprecated,dl.bug{background:linear-gradient(to bottom, #fad1e3 0%, #f7bad6 100%);box-shadow:inset 0 0 32px #f5a3c8;color:#53092a;border:2px solid #e699bb}dl.todo,dl.test{background:linear-gradient(to bottom, #d1ecfa 0%, #bae3f7 100%);box-shadow:inset 0 0 32px #a3daf5;color:#093a53;border:2px solid #99cce6}dl.note,dl.pre,dl.post,dl.invariant,dl.warning,dl.attention,dl.deprecated,dl.bug,dl.todo,dl.test{border-radius:4px;padding:1em;text-shadow:0 1px 1px #fff;margin:1em 0}.note a,.pre a,.post a,.invariant a,.warning a,.attention a,.deprecated a,.bug a,.todo a,.test a,.note a:visited,.pre a:visited,.post a:visited,.invariant a:visited,.warning a:visited,.attention a:visited,.deprecated a:visited,.bug a:visited,.todo a:visited,.test a:visited{color:inherit}div.line{line-height:inherit}div.fragment,pre.fragment{background:#f2f2f2;border-radius:4px;border:none;padding:1em;overflow:auto;border-left:4px solid #ccc;margin:1em 0}.lineno a,.lineno a:visited,.line,pre.fragment{color:#4d4d4d}span.preprocessor,span.comment{color:#007899}a.code,a.code:visited{color:#e64500}span.keyword,span.keywordtype,span.keywordflow{color:#404040;font-weight:bold}span.stringliteral{color:#360099}code{padding:.1em;border-radius:4px}/*# sourceMappingURL=extra.css.map */ diff --git a/docs/extra.css.map b/docs/extra.css.map new file mode 100644 index 00000000..7d10c5e2 --- /dev/null +++ b/docs/extra.css.map @@ -0,0 +1 @@ +{"version":3,"sourceRoot":"","sources":["extra.scss"],"names":[],"mappings":"AA8EA,4GACI,gBACA,iBAGJ,yBACC,yDAGD,6HACC,sDAGD,yIACC,sDAGD,mBACI,WA9EuB,KA+EvB,iBAGJ,uBACC,MAzFoB,QA0FjB,iBAGJ,6UACC,gBAGD,mJACC,YAGD,yHACC,iBAGD,sBACC,gBAGD,4LACC,UAGD,yCACC,aAGD,kMACC,WAnHgC,QAsHjC,KACC,MA1HoB,QA6HrB,sDACC,MA/Ge,QAgHf,mBAGD,GACE,iBACA,eAGF,GACE,iBACA,gBACA,eAGF,GACE,iBACA,gBACA,eAGF,YACC,eACA,gBACA,gBACA,eACA,cAEA,aACA,mBACA,eACA,2BACA,mBACA,sBAGD,UACC,iBACA,mBACA,MA/J0B,KAgK1B,gBACA,qEAGD,YACC,qBACA,kBACA,YAGD,yBACC,WAGD,oCACC,iBACA,gBACA,cACA,MAlL0B,KAqL3B,YACC,eAGD,8CACC,qBAGD,mBACC,MA9L0B,KAiM3B,eACC,kBACA,YACA,eAGD,KACC,WAxM0B,KA2M3B,UACC,gBACA,cACA,eAGD,WACC,gBACA,cACA,eAGD,UACI,aAGJ,mBACI,iBACA,iBAGJ,WACC,gBACA,aACA,mBACA,eACA,2BACA,mBACA,sBAGD,mEACC,MA9OgC,QAiPjC,gCACC,MArPoB,QAwPrB,sCACC,MAjOoB,KAoOrB,yBACC,kBAGD,UACC,iBAGD,wBACC,gBACA,cACA,eACA,qBAGD,uDACC,gEACA,+BACA,+BACA,gBACA,MArPgB,KAwPjB,mBACC,MA5PoB,KA6PpB,aACA,kBACA,yBAGD,QACC,WACA,WAGD,WACC,iBAGD,WACC,mBAGD,WACC,cACA,eACA,qBAGD,oCACC,gEACA,kCACA,2BACA,MAlSe,QAmSf,yBACA,kBAGD,WACC,MA3QuB,QA8QxB,cACC,sBACA,2BACA,4BACA,mBAGD,cACC,sBACA,+BACA,8BACA,gBAGD,mCACC,wBACA,iBACA,sBACA,kBAGD,gIACC,MAxToB,KAyTpB,qBAGD,cACC,wBACA,iBACA,sBACA,kBAGD,iBACC,WACA,4EAGD,oCApSC,gEACA,kCACA,cACA,yBAqSD,wBAxSC,gEACA,kCACA,cACA,yBAySD,qBA5SC,gEACA,kCACA,cACA,yBA6SD,gBAhTC,gEACA,kCACA,cACA,yBAiTD,iGACC,kBACA,YACA,2BACA,aAGD,kRACC,cAGD,SACC,oBAGD,0BACC,mBACA,kBACA,YACA,YACA,cACA,2BACA,aAGD,+CACC,MA1YoB,QA6YrB,+BACC,cAGD,sBACC,cAGD,+CACC,cACA,iBAGD,mBACC,cAGD,KACC,aACA","file":"extra.css"} \ No newline at end of file diff --git a/docs/extra.less b/docs/extra.scss similarity index 60% rename from docs/extra.less rename to docs/extra.scss index 6d82b346..6c5f3c25 100644 --- a/docs/extra.less +++ b/docs/extra.scss @@ -1,106 +1,106 @@ // NOTE: Please use this file to perform modifications on default style sheets. // -// You need to install a few Ruby gems to generate extra.css from this file: -// gem install less therubyracer +// You need to install the official Sass CLI tool: +// npm install -g sass // // Run this command to regenerate extra.css after you're finished with changes: -// lessc --compress extra.less > extra.css +// sass --style=compressed extra.scss extra.css // // Alternatively you can use online services to regenerate extra.css. // Default text color for page contents -@default-text-color: hsl(0,0%,30%); +$default-text-color: hsl(0,0%,30%); // Page header, footer, table rows, inline codes and definition lists -@header-footer-background-color: hsl(0,0%,95%); +$header-footer-background-color: hsl(0,0%,95%); // Page header, footer links and navigation bar background -@header-footer-link-color: hsl(0,0%,40%); +$header-footer-link-color: hsl(0,0%,40%); // Doxygen navigation bar links -@navbar-link-color: @header-footer-background-color; +$navbar-link-color: $header-footer-background-color; // Page content background color -@content-background-color: hsl(0,0%,100%); +$content-background-color: hsl(0,0%,100%); // Bold, italic, h1, h2, ... and table of contents -@heading-color: hsl(0,0%,10%); +$heading-color: hsl(0,0%,10%); // Function, enum and macro definition separator -@def-separator-color: @header-footer-background-color; +$def-separator-color: $header-footer-background-color; // Base color hue -@base-hue: 24; +$base-hue: 24; // Default color used for links -@default-link-color: hsl(@base-hue,100%,50%); +$default-link-color: hsl($base-hue,100%,50%); // Doxygen navigation bar active tab -@tab-text-color: hsl(0,0%,100%); -@tab-background-color1: @default-link-color; -@tab-background-color2: lighten(spin(@tab-background-color1, 10), 10%); +$tab-text-color: hsl(0,0%,100%); +$tab-background-color1: $default-link-color; +$tab-background-color2: lighten(adjust-hue($tab-background-color1, 10), 10%); // Table borders -@default-border-color: @default-link-color; +$default-border-color: $default-link-color; // Table header -@table-text-color: @tab-text-color; -@table-background-color1: @tab-background-color1; -@table-background-color2: @tab-background-color2; +$table-text-color: $tab-text-color; +$table-background-color1: $tab-background-color1; +$table-background-color2: $tab-background-color2; // Table of contents, data structure index and prototypes -@toc-background-color1: hsl(0,0%,90%); -@toc-background-color2: lighten(@toc-background-color1, 5%); +$toc-background-color1: hsl(0,0%,90%); +$toc-background-color2: lighten($toc-background-color1, 5%); // Function prototype parameters color -@prototype-param-color: darken(@default-link-color, 25%); +$prototype-param-color: darken($default-link-color, 25%); // Message box color: note, pre, post and invariant -@box-note-color: hsl(103,80%,85%); +$box-note-color: hsl(103,80%,85%); // Message box color: warning and attention -@box-warning-color: hsl(34,80%,85%); +$box-warning-color: hsl(34,80%,85%); // Message box color: deprecated and bug -@box-bug-color: hsl(333,80%,85%); +$box-bug-color: hsl(333,80%,85%); // Message box color: todo and test -@box-todo-color: hsl(200,80%,85%); +$box-todo-color: hsl(200,80%,85%); // Message box helper function -.message-box(@base-color) { - background:linear-gradient(to bottom,lighten(@base-color, 5%) 0%,@base-color 100%); - box-shadow:inset 0 0 32px darken(@base-color, 5%); - color:darken(@base-color, 67%); - border:2px solid desaturate(darken(@base-color, 10%), 20%); +@mixin message-box($base-color){ + background:linear-gradient(to bottom,lighten($base-color, 5%) 0%,$base-color 100%); + box-shadow:inset 0 0 32px darken($base-color, 5%); + color:darken($base-color, 67%); + border:2px solid desaturate(darken($base-color, 10%), 20%); } .sm-dox,.sm-dox a,.sm-dox a:focus,.sm-dox a:active,.sm-dox a:hover,.sm-dox a.highlighted,.sm-dox ul a:hover { - background:none; - text-shadow:none; + background:none; + text-shadow:none; } .sm-dox a span.sub-arrow { - border-color:@navbar-link-color transparent transparent transparent; + border-color:$navbar-link-color transparent transparent transparent; } .sm-dox a span.sub-arrow:active,.sm-dox a span.sub-arrow:focus,.sm-dox a span.sub-arrow:hover,.sm-dox a:hover span.sub-arrow { - border-color:@default-link-color transparent transparent transparent; + border-color:$default-link-color transparent transparent transparent; } .sm-dox ul a span.sub-arrow:active,.sm-dox ul a span.sub-arrow:focus,.sm-dox ul a span.sub-arrow:hover,.sm-dox ul a:hover span.sub-arrow { - border-color:transparent transparent transparent @default-link-color; + border-color:transparent transparent transparent $default-link-color; } .sm-dox ul a:hover { - background:@header-footer-link-color; - text-shadow:none; + background:$header-footer-link-color; + text-shadow:none; } .sm-dox ul.sm-nowrap a { - color:@default-text-color; - text-shadow:none; + color:$default-text-color; + text-shadow:none; } #main-nav,#main-menu,#main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li,.memdoc,dl.reflist dd,div.toc li,.ah,span.lineno,span.lineno a,span.lineno a:hover,.note code,.pre code,.post code,.invariant code,.warning code,.attention code,.deprecated code,.bug code,.todo code,.test code,.doxtable code,.markdownTable code { @@ -128,55 +128,61 @@ div.headertitle,.note code,.pre code,.post code,.invariant code,.warning code,.a } html,#titlearea,.footer,tr.even,.directory tr.even,.doxtable tr:nth-child(even),tr.markdownTableBody:nth-child(even),.mdescLeft,.mdescRight,.memItemLeft,.memItemRight,code,.markdownTableRowEven { - background:@header-footer-background-color; + background:$header-footer-background-color; } body { - color:@default-text-color; + color:$default-text-color; } h1,h2,h2.groupheader,h3,div.toc h3,h4,h5,h6,strong,em { - color:@heading-color; + color:$heading-color; border-bottom:none; } h1 { - padding-top:0.5em; - font-size:180%; + padding-top:0.5em; + font-size:180%; } h2 { - padding-top:0.5em; - margin-bottom:0; - font-size:140%; + padding-top:0.5em; + margin-bottom:0; + font-size:140%; } h3 { - padding-top:0.5em; - margin-bottom:0; - font-size:110%; + padding-top:0.5em; + margin-bottom:0; + font-size:110%; } .glfwheader { font-size:16px; - height:64px; + min-height:64px; max-width:920px; - min-width:800px; padding:0 32px; margin:0 auto; + + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + align-content: stretch; } #glfwhome { line-height:64px; padding-right:48px; - color:@header-footer-link-color; + color:$header-footer-link-color; font-size:2.5em; background:url("https://www.glfw.org/css/arrow.png") no-repeat right; } .glfwnavbar { list-style-type:none; - margin:0 auto; + margin:0 0 0 auto; float:right; } @@ -188,7 +194,11 @@ h3 { line-height:64px; margin-left:2em; display:block; - color:@header-footer-link-color; + color:$header-footer-link-color; +} + +.glfwnavbar { + padding-left: 0; } #glfwhome,.glfwnavbar a,.glfwnavbar a:visited { @@ -196,7 +206,7 @@ h3 { } #titlearea,.footer { - color:@header-footer-link-color; + color:$header-footer-link-color; } address.footer { @@ -206,48 +216,54 @@ address.footer { } #top { - background:@header-footer-link-color; + background:$header-footer-link-color; } #main-nav { max-width:960px; - min-width:800px; margin:0 auto; font-size:13px; } #main-menu { max-width:920px; - min-width:800px; margin:0 auto; font-size:13px; } .memtitle { - display:none; + display:none; } .memproto,.memname { - font-weight:bold; - text-shadow:none; + font-weight:bold; + text-shadow:none; } #main-menu { - height:36px; - display:block; - position:relative; + min-height:36px; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-start; + align-items: center; + align-content: stretch; } #main-menu a,#main-menu a:visited,#main-menu a:hover,#main-menu li { - color:@navbar-link-color; + color:$navbar-link-color; } #main-menu li ul.sm-nowrap li a { - color:@default-text-color; + color:$default-text-color; } #main-menu li ul.sm-nowrap li a:hover { - color:@default-link-color; + color:$default-link-color; +} + +#main-menu > li:last-child { + margin: 0 0 0 auto; } .contents { @@ -258,22 +274,22 @@ div.contents,div.header { max-width:920px; margin:0 auto; padding:0 32px; - background:@content-background-color none; + background:$content-background-color none; } table.doxtable th,table.markdownTable th,dl.reflist dt { - background:linear-gradient(to bottom,@table-background-color2 0%,@table-background-color1 100%); - box-shadow:inset 0 0 32px @table-background-color1; - text-shadow:0 -1px 1px darken(@table-background-color1, 15%); + background:linear-gradient(to bottom,$table-background-color2 0%,$table-background-color1 100%); + box-shadow:inset 0 0 32px $table-background-color1; + text-shadow:0 -1px 1px darken($table-background-color1, 15%); text-align:left; - color:@table-text-color; + color:$table-text-color; } dl.reflist dt a.el { - color:@default-link-color; + color:$default-link-color; padding:.2em; border-radius:4px; - background-color:lighten(@default-link-color, 40%); + background-color:lighten($default-link-color, 40%); } div.toc { @@ -296,27 +312,27 @@ div.toc li { } div.toc,.memproto,div.qindex,div.ah { - background:linear-gradient(to bottom,@toc-background-color2 0%,@toc-background-color1 100%); - box-shadow:inset 0 0 32px @toc-background-color1; - text-shadow:0 1px 1px lighten(@toc-background-color2, 10%); - color:@heading-color; - border:2px solid @toc-background-color1; + background:linear-gradient(to bottom,$toc-background-color2 0%,$toc-background-color1 100%); + box-shadow:inset 0 0 32px $toc-background-color1; + text-shadow:0 1px 1px lighten($toc-background-color2, 10%); + color:$heading-color; + border:2px solid $toc-background-color1; border-radius:4px; } .paramname { - color:@prototype-param-color; + color:$prototype-param-color; } dl.reflist dt { - border:2px solid @default-border-color; + border:2px solid $default-border-color; border-top-left-radius:4px; border-top-right-radius:4px; border-bottom:none; } dl.reflist dd { - border:2px solid @default-border-color; + border:2px solid $default-border-color; border-bottom-right-radius:4px; border-bottom-left-radius:4px; border-top:none; @@ -325,41 +341,41 @@ dl.reflist dd { table.doxtable,table.markdownTable { border-collapse:inherit; border-spacing:0; - border:2px solid @default-border-color; + border:2px solid $default-border-color; border-radius:4px; } a,a:hover,a:visited,a:visited:hover,.contents a:visited,.el,a.el:visited,#glfwhome:hover,#main-menu a:hover,span.lineno a:hover { - color:@default-link-color; + color:$default-link-color; text-decoration:none; } div.directory { border-collapse:inherit; border-spacing:0; - border:2px solid @default-border-color; + border:2px solid $default-border-color; border-radius:4px; } hr,.memSeparator { height:2px; - background:linear-gradient(to right,@def-separator-color 0%,darken(@def-separator-color, 10%) 50%,@def-separator-color 100%); + background:linear-gradient(to right,$def-separator-color 0%,darken($def-separator-color, 10%) 50%,$def-separator-color 100%); } dl.note,dl.pre,dl.post,dl.invariant { - .message-box(@box-note-color); + @include message-box($box-note-color); } dl.warning,dl.attention { - .message-box(@box-warning-color); + @include message-box($box-warning-color); } dl.deprecated,dl.bug { - .message-box(@box-bug-color); + @include message-box($box-bug-color); } dl.todo,dl.test { - .message-box(@box-todo-color); + @include message-box($box-todo-color); } dl.note,dl.pre,dl.post,dl.invariant,dl.warning,dl.attention,dl.deprecated,dl.bug,dl.todo,dl.test { @@ -388,7 +404,7 @@ div.fragment,pre.fragment { } .lineno a,.lineno a:visited,.line,pre.fragment { - color:@default-text-color; + color:$default-text-color; } span.preprocessor,span.comment { @@ -400,7 +416,7 @@ a.code,a.code:visited { } span.keyword,span.keywordtype,span.keywordflow { - color:darken(@default-text-color, 5%); + color:darken($default-text-color, 5%); font-weight:bold; } diff --git a/docs/header.html b/docs/header.html index f42f49ee..4cefa3d0 100644 --- a/docs/header.html +++ b/docs/header.html @@ -1,7 +1,8 @@ - - + +
+