1 个不稳定版本
0.0.1 | 2020年10月31日 |
---|
#6 in #pebble
用于 pebble-skip
24KB
415 行
pebble-sys
为Pebble(手表)SDK 4.3提供的低级别FFI绑定。
我建议使用pebble-skip
中的高级封装,因为它提供了几乎相同的功能,具有完整的内存安全和极小的开销。
这个crate仍在积极开发中,因此在0.1版之前,请预期会有频繁的重大变更和缺失的功能。如果您想让我优先考虑特定的API,请在GitHub上提交功能请求。
安装
请使用cargo-edit始终添加此库的最新版本
cargo add pebble-sys
示例
#![no_std]
use pebble_sys::{
foundation::app::app_event_loop,
standard_c::memory::{c_str, void},
user_interface::{
window::number_window::{
number_window_create, number_window_get_window_mut, number_window_set_value,
NumberWindowCallbacks,
},
window_stack::window_stack_push,
},
};
#[no_mangle]
pub extern "C" fn main() -> i32 {
static mut CONTEXT: () = ();
unsafe {
let label = &*("miles to see you\0" as *const _ as *const c_str);
let number_window = number_window_create(
label,
NumberWindowCallbacks {
incremented: None,
decremented: None,
selected: None,
},
&mut *(&mut CONTEXT as *mut _ as *mut void),
)
.unwrap();
number_window_set_value(number_window, 10_000);
let window = number_window_get_window_mut(number_window);
window_stack_push(window, true);
app_event_loop();
0
}
}
许可证
根据您选择以下任一许可证授权:
- Apache许可证第2版 (LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确声明,否则您提交给作品的所有有意贡献,根据Apache-2.0许可证定义,应按上述方式双许可,不附加任何其他条款或条件。
行为准则
变更日志
版本控制
pebble-sys
严格遵循语义版本控制2.0.0,以下有例外:
- 在主要版本更改时,次要版本不会重置为0(除v1外)。
视为全局功能级别。 - 在主要版本或次要版本更改时,补丁版本不会重置为0(除v0.1和v1外)。
视为全局补丁级别。
这包括上述指定的Rust版本要求。
较早的Rust版本可能与当前版本兼容,但此兼容性可能随着次要版本或补丁版本的发布而改变。
受功能和补丁影响的版本可以从CHANGELOG.md中的相应标题确定。