porting text editor

This commit is contained in:
Krzosa Karol
2025-04-07 08:37:06 +02:00
parent f9d1f14c7c
commit c82eccc02a
13 changed files with 690 additions and 117 deletions

View File

@@ -44,6 +44,8 @@ fn os_date_t os_universal_time(void);
fn s8_t os_format_date(ma_arena_t *arena, os_date_t date);
fn f64 os_seconds(void);
fn f64 os_milliseconds(void);
fn f64 os_microseconds(void);
fn b32 os_copy(s8_t from, s8_t to, b32 overwrite);
fn b32 os_delete(s8_t path);

View File

@@ -25,11 +25,11 @@ fn os_date_t os_universal_time(void) {
return result;
}
fn u64 os_get_microseconds(void) {
fn f64 os_microseconds(void) {
struct timespec t;
clock_gettime(CLOCK_MONOTONIC, &t);
u64 result = t.tv_sec*million(1) + (t.tv_nsec/thousand(1));
return result;
return (f64)result;
}
fn f64 os_get_milliseconds(void) {

View File

@@ -28,23 +28,30 @@ fn os_date_t os_universal_time(void) {
return result;
}
static int64_t win32_counts_per_second;
fn f64 os_seconds(void) {
static int64_t counts_per_second;
if (counts_per_second == 0) {
if (win32_counts_per_second == 0) {
LARGE_INTEGER freq;
QueryPerformanceFrequency(&freq);
counts_per_second = freq.QuadPart;
win32_counts_per_second = freq.QuadPart;
}
LARGE_INTEGER time;
QueryPerformanceCounter(&time);
f64 result = (f64)time.QuadPart / (f64)counts_per_second;
f64 result = (f64)time.QuadPart / (f64)win32_counts_per_second;
return result;
}
// @todo: revise these conversions
fn f64 os_microseconds(void) {
f64 secs = os_seconds();
f64 result = secs * 1000000.0;
return result;
}
fn f64 os_milliseconds(void) {
f64 secs = os_seconds();
f64 result = secs * 1000;
f64 result = secs * 1000.0;
return result;
}