blueloveTH před 2 roky
rodič
revize
7774312209
2 změnil soubory, kde provedl 13 přidání a 10 odebrání
  1. 12 9
      docs/bindings.md
  2. 1 1
      docs/features/index.yml

+ 12 - 9
docs/bindings.md

@@ -1,5 +1,5 @@
 ---
 ---
-icon: star
+icon: cpu
 title: Write bindings
 title: Write bindings
 order: 18
 order: 18
 ---
 ---
@@ -8,6 +8,9 @@ order: 18
 This document is working in progress.
 This document is working in progress.
 !!!
 !!!
 
 
+
+## Old documents (deprecated)
+
 pkpy allows to wrap a function pointer as a python function or method that can be called in python code.
 pkpy allows to wrap a function pointer as a python function or method that can be called in python code.
 This function pointer has the following signature:
 This function pointer has the following signature:
 
 
@@ -19,7 +22,7 @@ typedef PyObject* (*NativeFuncC)(VM*, ArgsView);
 + The return value is a `PyObject*`, which should not be `nullptr`. If there is no return value, return `vm->None`.
 + The return value is a `PyObject*`, which should not be `nullptr`. If there is no return value, return `vm->None`.
 
 
 
 
-## Bind a function or method
+### Bind a function or method
 
 
 Use `vm->bind` to bind a function or method.
 Use `vm->bind` to bind a function or method.
 
 
@@ -44,7 +47,7 @@ vm->bind(obj,
 });
 });
 ```
 ```
 
 
-## Bind a property
+### Bind a property
 
 
 a property is a python's `property` that attached to a type instance with a getter and an optional setter. It is a data descriptor. A property redirects attribute access to specific functions.
 a property is a python's `property` that attached to a type instance with a getter and an optional setter. It is a data descriptor. A property redirects attribute access to specific functions.
 
 
@@ -81,7 +84,7 @@ struct Point {
 };
 };
 ```
 ```
 
 
-## Others
+### Others
 
 
 You may see somewhere in the code that `vm->bind_method<>` or `vm->bind_func<>` is used.
 You may see somewhere in the code that `vm->bind_method<>` or `vm->bind_func<>` is used.
 They are old style binding functions and are deprecated.
 They are old style binding functions and are deprecated.
@@ -117,7 +120,7 @@ PY_CLASS(T, mod, name)
 // name is the class name in python
 // name is the class name in python
 ```
 ```
 
 
-## Example
+### Example
 
 
 In this example, we will create a `linalg` module
 In this example, we will create a `linalg` module
 and implement a `vec2` type with some methods.
 and implement a `vec2` type with some methods.
@@ -141,7 +144,7 @@ print(a)        # vec2(8.0, 2.0)
 print(a.dot(b)) # -2.0
 print(a.dot(b)) # -2.0
 ```
 ```
 
 
-### Implement `Vec2` struct in cpp
+#### Implement `Vec2` struct in cpp
 
 
 ```cpp
 ```cpp
 struct Vec2{
 struct Vec2{
@@ -154,7 +157,7 @@ struct Vec2{
 };
 };
 ```
 ```
 
 
-### Create `PyVec2` wrapper
+#### Create `PyVec2` wrapper
 
 
 ```cpp
 ```cpp
 struct PyVec2: Vec2 {
 struct PyVec2: Vec2 {
@@ -193,7 +196,7 @@ struct PyVec2: Vec2 {
 };
 };
 ```
 ```
 
 
-### Create `linalg` module
+#### Create `linalg` module
 
 
 ```cpp
 ```cpp
 void add_module_linalg(VM* vm){
 void add_module_linalg(VM* vm){
@@ -203,6 +206,6 @@ void add_module_linalg(VM* vm){
 }
 }
 ```
 ```
 
 
-### Further reading
+#### Further reading
 
 
 See [linalg.h](https://github.com/blueloveTH/pocketpy/blob/main/src/linalg.h) for the complete implementation.
 See [linalg.h](https://github.com/blueloveTH/pocketpy/blob/main/src/linalg.h) for the complete implementation.

+ 1 - 1
docs/features/index.yml

@@ -1,3 +1,3 @@
-icon: cpu
+icon: star
 order: 16
 order: 16
 label: "Features"
 label: "Features"