小编leo*_*hma的帖子

为什么 BitVec 缺少序列化特征?

为了熟悉 Rust,我自己编写了一个由BitVec. 其中一部分将包括一个save使用 serde 序列化整个结构并将其写入文件的方法。不幸的是,我在派生特征时遇到编译器错误Serialize

use bitvec::vec::BitVec;
use serde::{Serialize, Deserialize};

#[derive(Serialize, Deserialize)]
pub struct BloomFilter {
    n: u64,  // items added
    m: u32,  // slice size
    k: u32,  // number of slices
    buf: BitVec,  // buffer
    state: [u8; 8],  // random state
}
Run Code Online (Sandbox Code Playgroud)
error[E0277]: the trait bound `BitVec: Serialize` is not satisfied
    --> src/bloom.rs:12:10
     |
12   | #[derive(Serialize, Deserialize)]
     |          ^^^^^^^^^ the trait `Serialize` is not implemented for `BitVec`
...
17   |     buf: BitVec, …
Run Code Online (Sandbox Code Playgroud)

traits rust serde bitvec

5
推荐指数
1
解决办法
46
查看次数

PointerEvent 在短时间内停止触发

我目前正在尝试获得与 Squid(笔记应用程序)类似的触摸/手写笔行为。我已经使用了PointerEventAPI,它一切正常,除了一个恼人的问题:在我放下手写笔或手指后,它会在接下来的约 0.3 秒内绘制一笔,但在那之后,pointermove只要指针向下。

这是我的代码:

index.html

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Draw</title>
    <link rel="stylesheet" href="index.css">
</head>

<body>
    <canvas id="canvas" width="500px" height="500px" style=" position: absolute;border: 2px solid red;"></canvas>
    <script src="index.js"></script>

</body>

</html>
Run Code Online (Sandbox Code Playgroud)

index.js

var canvas = document.querySelector("#canvas");
var ctx = canvas.getContext("2d");

ctx.fillStyle = "white"

var pos = {}

canvas.addEventListener("pointerdown", function (e) {
    pos.x = e.pageX;
    pos.y = e.pageY;
});

canvas.addEventListener("pointermove", function (e) {
    console.log(e.pressure)

    switch (e.pointerType) {
        case …
Run Code Online (Sandbox Code Playgroud)

html javascript pointer-events stylus-pen

1
推荐指数
1
解决办法
930
查看次数

标签 统计

bitvec ×1

html ×1

javascript ×1

pointer-events ×1

rust ×1

serde ×1

stylus-pen ×1

traits ×1