Skip to content

Commit 3ad2694

Browse files
committed
vaev-style: Make it a module!
1 parent a4ac498 commit 3ad2694

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

52 files changed

+7009
-7064
lines changed

src/main.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -2,15 +2,20 @@
22
#include <karm-gc/heap.h>
33
#include <karm-gfx/cpu/canvas.h>
44
#include <karm-image/saver.h>
5+
#include <karm-mime/mime.h>
56
#include <karm-print/file-printer.h>
67
#include <karm-print/page.h>
78
#include <karm-sys/entry.h>
89
#include <karm-sys/file.h>
910
#include <karm-sys/proc.h>
10-
#include <vaev-style/computer.h>
11+
#include <vaev-base/length.h>
12+
#include <vaev-base/media.h>
13+
#include <vaev-base/numbers.h>
14+
#include <vaev-base/resolution.h>
1115

1216
import Vaev.Driver;
1317
import Vaev.Layout;
18+
import Vaev.Style;
1419

1520
namespace PaperMuncher {
1621

src/web/vaev-browser/inspect.cpp

+2-1
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,11 @@ module;
1313
#include <vaev-dom/document-type.h>
1414
#include <vaev-dom/document.h>
1515
#include <vaev-dom/element.h>
16-
#include <vaev-style/props.h>
1716

1817
export module Vaev.Browser:inspect;
1918

19+
import Vaev.Style;
20+
2021
namespace Vaev::Browser {
2122

2223
export struct ExpandNode {

src/web/vaev-driver/fetcher.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
11
module;
22

33
#include <karm-gc/heap.h>
4+
#include <karm-logger/logger.h>
45
#include <karm-mime/mime.h>
56
#include <karm-mime/url.h>
67
#include <karm-sys/dir.h>
78
#include <karm-sys/file.h>
89
#include <vaev-dom/document.h>
910
#include <vaev-dom/html/parser.h>
1011
#include <vaev-dom/xml/parser.h>
11-
#include <vaev-style/stylesheet.h>
1212

1313
export module Vaev.Driver:fetcher;
1414

15+
import Vaev.Style;
16+
1517
namespace Vaev::Driver {
1618

1719
export Res<Gc::Ref<Dom::Document>> loadDocument(Gc::Heap& heap, Mime::Url const& url, Mime::Mime const& mime, Io::Reader& reader) {

src/web/vaev-driver/print.cpp

+4-1
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,19 @@
11
module;
22

33
#include <karm-base/rc.h>
4+
#include <karm-logger/logger.h>
45
#include <karm-math/au.h>
56
#include <karm-print/page.h>
67
#include <karm-scene/transform.h>
78
#include <karm-sys/time.h>
89
#include <karm-text/book.h>
10+
#include <vaev-base/media.h>
11+
#include <vaev-base/resolution.h>
912
#include <vaev-dom/document.h>
10-
#include <vaev-style/computer.h>
1113

1214
export module Vaev.Driver:print;
1315

16+
import Vaev.Style;
1417
import Vaev.Layout;
1518
import :fetcher;
1619

src/web/vaev-driver/render.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
module;
22

33
#include <karm-base/box.h>
4+
#include <karm-gc/ptr.h>
5+
#include <karm-logger/logger.h>
6+
#include <karm-math/au.h>
47
#include <karm-scene/stack.h>
58
#include <karm-sys/time.h>
69
#include <karm-text/book.h>
7-
#include <vaev-style/computer.h>
10+
#include <vaev-dom/document.h>
811

912
export module Vaev.Driver:render;
1013

14+
import Vaev.Style;
15+
1116
import :fetcher;
1217
import Vaev.Layout;
1318

src/web/vaev-layout/base.cpp

+3-1
Original file line numberDiff line numberDiff line change
@@ -2,10 +2,12 @@ module;
22

33
#include <karm-image/picture.h>
44
#include <karm-text/prose.h>
5-
#include <vaev-style/computer.h>
5+
#include <vaev-base/resolution.h>
66

77
export module Vaev.Layout:base;
88

9+
import Vaev.Style;
10+
911
namespace Vaev::Layout {
1012

1113
// MARK: Fragmentainer ---------------------------------------------------------

src/web/vaev-layout/builder.cpp

+7-1
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,19 @@
11
module;
22

33
#include <karm-image/loader.h>
4+
#include <karm-text/book.h>
45
#include <karm-text/loader.h>
56
#include <karm-text/prose.h>
7+
#include <vaev-base/display.h>
8+
#include <vaev-base/table.h>
9+
#include <vaev-base/text.h>
610
#include <vaev-dom/document.h>
7-
#include <vaev-style/computer.h>
11+
#include <vaev-dom/tags.h>
12+
#include <vaev-dom/text.h>
813

914
export module Vaev.Layout:builder;
1015

16+
import Vaev.Style;
1117
import :values;
1218

1319
namespace Vaev::Layout {

src/web/vaev-layout/paint.cpp

+6-1
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,15 @@ module;
44
#include <karm-scene/image.h>
55
#include <karm-scene/stack.h>
66
#include <karm-scene/text.h>
7-
#include <vaev-style/computer.h>
7+
#include <vaev-base/color.h>
8+
#include <vaev-base/display.h>
9+
#include <vaev-base/float.h>
10+
#include <vaev-base/insets.h>
11+
#include <vaev-base/visibility.h>
812

913
export module Vaev.Layout:paint;
1014

15+
import Vaev.Style;
1116
import :base;
1217
import :values;
1318

src/web/vaev-style/base.cpp

+16
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
module;
2+
3+
#include <karm-base/cursor.h>
4+
5+
export module Vaev.Style:base;
6+
7+
import Vaev.Style.Css;
8+
9+
namespace Vaev::Style {
10+
11+
export void eatWhitespace(Cursor<Css::Sst>& c) {
12+
while (not c.ended() and c.peek() == Css::Token::WHITESPACE)
13+
c.next();
14+
}
15+
16+
} // namespace Vaev::Style

src/web/vaev-style/base.h

-12
This file was deleted.

src/web/vaev-style/computed-impl.cpp

+24
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
module;
2+
3+
#include <karm-meta/id.h>
4+
5+
module Vaev.Style:computed_impl;
6+
7+
import :computed;
8+
import :props;
9+
10+
namespace Vaev::Style {
11+
12+
Computed const& Computed::initial() {
13+
static Computed computed = [] {
14+
Computed res{};
15+
StyleProp::any([&]<typename T>(Meta::Type<T>) {
16+
if constexpr (requires { T::initial(); })
17+
T{}.apply(res);
18+
});
19+
return res;
20+
}();
21+
return computed;
22+
}
23+
24+
} // namespace Vaev::Style

0 commit comments

Comments
 (0)