LINUX.ORG.RU

История изменений

Исправление MOPKOBKA, (текущая версия) :

Выглядит некрасиво. :)

Можно вынести state в структуру и передавать в функцию после nk_context, static это что бы не вводить лишних сущностей.

Потом в них можно будет изменить позицию, текст, цвет..?

Ты смотришь на интерфейс как на данные, а стоит смотреть как на отображение данных приложения. Согласись, делать просто так текст красным не надо? Но нужно например сделать красным имя пациента, если мы рисуем списки пациентов, где пациент может быть мертв!

struct MedClient {
  char name[80];
  bool very_mertv = false;
};

void draw_client_label(nk_context *ctx, MedClient *client)
{
  nk_label_colored(ctx, client->name, client->very_mertv ? NK_RED : NK_GREEN);
}

void draw_clients_list(nk_context *ctx, MedClient *clients, int n)
{
  for (int i = 0; i < n; i++)
    draw_client_label(ctx, &clients[i]);
}

Исправление MOPKOBKA, :

Выглядит некрасиво. :)

Можно вынести state в структуру и передавать в функцию после nk_context, static это что бы не вводить лишних сущностей.

Потом в них можно будет изменить позицию, текст, цвет..?

Ты смотришь на интерфейс как на данные, а стоит смотреть как на отображение данных приложения. Согласись, делать просто так текст красным не надо? Но нужно например сделать красным имя пациента, если мы рисуем списки пациентов, где пациент может быть мертв!

struct MedClient {
  char name[80];
  bool very_mertv = false;
};

void draw_client_label(nk_context *ctx, MedClient *client)
{
  nk_label_colored(ctx, client->name, client->very_mertv ? NK_RED : NK_GREEN);
}

void draw_clients_list(nk_context *ctx, MedClient *clients, int n)
{
  for (int i = 0; i < n; i++)
    client_label(ctx, &clients[i]);
}

Исправление MOPKOBKA, :

Выглядит некрасиво. :)

Можно вынести state в структуру и передавать в функцию после nk_context, static это что бы не вводить лишних сущностей.

Потом в них можно будет изменить позицию, текст, цвет..?

Ты смотришь на интерфейс как на данные, а стоит смотреть как на отображение данных приложения. Согласись, делать просто так текст красным не надо? Но нужно например сделать красным имя пациента, если мы рисуем списки пациентов, где пациент может быть мертв!

struct MedClient {
  char name[80];
  bool very_mertv = false;
};

void draw_client_label(nk_context *ctx, MedClient *client)
{
  nk_label_colored(ctx, client->name, client->very_mertv ? NK_RED : NK_GREEN);
}

void draw_clients_list(nk_context *ctx, MedClient *clients, int n)
{
  for (int i = 0; i < n; i++)
    client_label(ctx, clients[i]);
}

Исправление MOPKOBKA, :

Выглядит некрасиво. :)

Можно вынести state в структуру и передавать в функцию после nk_context, static это что бы не вводить лишних сущностей.

Потом в них можно будет изменить позицию, текст, цвет..?

Ты смотришь на интерфейс как на данные, а стоит смотреть как на отображение данных приложения. Согласись, делать просто так текст красным не надо? Но нужно например если мы рисуем списки пациентов, где пациент может быть мертв!

struct MedClient {
  char name[80];
  bool very_mertv = false;
};

void draw_client_label(nk_context *ctx, MedClient *client)
{
  nk_label_colored(ctx, client->name, client->very_mertv ? NK_RED : NK_GREEN);
}

void draw_clients_list(nk_context *ctx, MedClient *clients, int n)
{
  for (int i = 0; i < n; i++)
    client_label(ctx, clients[i]);
}

Исходная версия MOPKOBKA, :

Выглядит некрасиво. :)

Можно вынести state в структуру и передавать в функцию после nk_context, это что бы не вводить лишних сущностей.

Потом в них можно будет изменить позицию, текст, цвет..?

Ты смотришь на интерфейс как на данные, а стоит смотреть как на отображение данных приложения. Согласись, делать просто так текст красным не надо? Но нужно например если мы рисуем списки пациентов, где пациент может быть мертв!

struct MedClient {
  char name[80];
  bool very_mertv = false;
};

void draw_client_label(nk_context *ctx, MedClient *client)
{
  nk_label_colored(ctx, client->name, client->very_mertv ? NK_RED : NK_GREEN);
}

void draw_clients_list(nk_context *ctx, MedClient *clients, int n)
{
  for (int i = 0; i < n; i++)
    client_label(ctx, clients[i]);
}