Skip to content

Commit 8d874c1

Browse files
author
Răzvan Ștefănescu
committed
updated readme
1 parent 66ea19a commit 8d874c1

File tree

1 file changed

+13
-6
lines changed

1 file changed

+13
-6
lines changed

README.md

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -31,13 +31,15 @@ Build and run were tested on Windows, but the generator code is not platform dep
3131

3232
## Features
3333

34-
- Documentation
34+
### Documentation
3535

3636
All functions, interfaces, enums and user defined types have descriptions extracted from the official Windows SDK documentation.
3737

3838
![Demo image](https://github.com/rumbu13/windows-d/blob/master/ext/docs.JPG)
3939

40-
- Code formatting. Lines have a maximum length of 120 characters. You can override this setting by changing the constant ```maxLineWidth = 120```. Function declarations are aligned to the width of the result type having a hard limit set in the constant ```maxReturnTypeAlignment = 8```. Struct members are also aligned to the width of the type having a hard limit that you can set in the constant ```maxFieldAlignment = 20```. Function parameters are also aligned to open paranthesis starting the parameter list.
40+
### Code formatting
41+
42+
Lines have a maximum length of 120 characters. You can override this setting by changing the constant ```maxLineWidth = 120```. Function declarations are aligned to the width of the result type having a hard limit set in the constant ```maxReturnTypeAlignment = 8```. Struct members are also aligned to the width of the type having a hard limit that you can set in the constant ```maxFieldAlignment = 20```. Function parameters are also aligned to open paranthesis starting the parameter list.
4143

4244
```
4345
struct CQPAGE
@@ -62,7 +64,10 @@ interface IServerSecurity : IUnknown
6264
}
6365
6466
```
65-
- Selective imports. Based on the dependency graph, imports between modules are limited to the types which are really used. All imports are public since there is no implementation of functions, only declarations.
67+
68+
### Selective imports
69+
70+
Based on the dependency graph, imports between modules are limited to the types which are really used. All imports are public since there is no implementation of functions, only declarations.
6671

6772
```
6873
module windows.componentservices;
@@ -76,7 +81,9 @@ public import windows.windowsprogramming : FILETIME;
7681
7782
```
7883

79-
- Constant grouping. In the metadata files, constants are listed globally, the application tries to find a common pattern and group them accordingly. You can control this behaviour using the constant ```minSetTreshold = 0.4``` representing the proportion of common characters.
84+
### Constant grouping
85+
86+
In the metadata files, constants are listed globally, the application tries to find a common pattern and group them accordingly. You can control this behaviour using the constant ```minSetTreshold = 0.4``` representing the proportion of common characters.
8087

8188
```
8289
enum : int
@@ -122,7 +129,7 @@ auto bitmap = CreateBitmap(128, 128, 1, 32, null).autoFree;
122129
//no need to call DeleteObject, it is called automatically when ```bitmap``` will go out of scope
123130
```
124131

125-
### GUID decorating.
132+
### GUID decorating
126133

127134
Interfaces and several structs are decorated with GUID attributes. The old ```IID_``` constants from Windows headers are missing, therefore the generator will create them based on the name of each decorated item. The template doing this mapping (```GUIDOF```) can be found in the file ```core.d```. Conventionally, every COM interface has an associated ```IID_``` guid, any other type having an associated ```CLSID_``` guid.
128135
```
@@ -163,7 +170,7 @@ Not all attributes found in the metadata have a direct translation in D language
163170
- ```NativeTypedef``` is used to decide where ```struct``` is in facta a strong typed handles.
164171
- ```UnmanagedFunctionPointer``` is used to decide what calling convention is used for callback functions.
165172
- ```Const``` attribute is translated as a ```const``` qualifier for all fields or all parameters.
166-
The following attributes are ignored: ```NativeArrayInfo```, ```ComOutPtr```, ```RetVal```, ```NullNullTerminated```, ```NotNullTerminated```. Any suggestion about how to take advantage of them is appreciated.
173+
- The following attributes are ignored: ```NativeArrayInfo```, ```ComOutPtr```, ```RetVal```, ```NullNullTerminated```, ```NotNullTerminated```. Any suggestion about how to take advantage of them is appreciated.
167174
```
168175
enum : int
169176
{

0 commit comments

Comments
 (0)