Читаем Программирование мобильных устройств на платформе .NET Compact Framework полностью

 private static bool s_alreadyInitialized;

 public static Font g_boldFont;

 public static Font g_smallTextFont;

 public static Brush g_greenBrush;

 public static Brush g_yellowBrush;

 public static Brush g_redBrush;

 public static Brush g_blackBrush;


 //==============================================================

 //Эта функция должна быть вызвана до попыток доступа к любому из

 //вышеперечисленных глобальных объектов

 //==============================================================

 public static void InitializeGlobals {

  if (s_alreadyInitialized == true) {

   return;

  }

  g_blackPen = new System.Drawing.Pen(Color.Black);

  g_whitePen = new System.Drawing.Pen(Color.White);

  g_ImageAttribute = new  System.Drawing.Imaging.ImageAttributes;

  g_ImageAttribute.SetColorKey(Color.White, Color.White);

  g_boldFont = new Font(FontFamily.GenericSerif, 10, FontStyle.Bold);

  g_smallTextFont = new Font(FontFamily.GenericSansSerif, 8, FontStyle.Regular);

  g_blackBrush = new SolidBrush(System.Drawing.Color.Black);

  g_greenBrush = new SolidBrush(System.Drawing.Color.LightGreen);

  g_yellowBrush = new SolidBrush(System.Drawing.Color.Yellow);

  g_redBrush = new SolidBrush(System.Drawing.Color.Red);

  s_alreadyInitialized = true;

 }


 //=========================================================

 //Подход 3: Возвратить массив связанных ресурсов.

 // Кэшировать ресурсы локально, чтобы при многократных

 // запросах не загружались (понапрасну) их дубликаты.

 //=========================================================

 private static Bitmap m_CaveMan_Bitmap1;

 private static Bitmap m_CaveMan_Bitmap2;

 private static Bitmap m_CaveMan_Bitmap3;

 private static Bitmap m_CaveMan_Bitmap4;

 private static System.Collections.ArrayList m_colCaveManBitmaps;


 //--------------------------------------------------

 //Создать и загрузить массив изображений для спрайта

 //--------------------------------------------------

 public static System.Collections.ArrayList g_CaveManPictureCollection {

  //Изображения загружаются лишь в том случае, если мы их еще не загрузили

  if (m_CaveMan_Bitmap1 == null) {

   //-----------------------------------------------------------------

   //Загрузить изображения. Эти изображения хранятся в виде

   //встроенных ресурсов в нашем двоичном приложении.

   //

   //Загрузка изображений из внешних файлов осуществляется аналогичным

   //образом, но выполнить ее проще (нам достаточно лишь указать

   //имя файла в конструкторе растровых изображений).

   //------------------------------------------------------------------


   //Получить ссылку на нашу двоичную сборку

Перейти на страницу:

Похожие книги

Программист-прагматик. Путь от подмастерья к мастеру
Программист-прагматик. Путь от подмастерья к мастеру

Находясь на переднем крае программирования, книга "Программист-прагматик. Путь от подмастерья к мастеру" абстрагируется от всевозрастающей специализации и технических тонкостей разработки программ на современном уровне, чтобы исследовать суть процесса – требования к работоспособной и поддерживаемой программе, приводящей пользователей в восторг. Книга охватывает различные темы – от личной ответственности и карьерного роста до архитектурных методик, придающих программам гибкость и простоту в адаптации и повторном использовании.Прочитав эту книгу, вы научитесь:Бороться с недостатками программного обеспечения;Избегать ловушек, связанных с дублированием знания;Создавать гибкие, динамичные и адаптируемые программы;Избегать программирования в расчете на совпадение;Защищать вашу программу при помощи контрактов, утверждений и исключений;Собирать реальные требования;Осуществлять безжалостное и эффективное тестирование;Приводить в восторг ваших пользователей;Формировать команды из программистов-прагматиков и с помощью автоматизации делать ваши разработки более точными.

Эндрю Хант , Дэвид Томас , А. Алексашин

Программирование / Книги по IT
Разработка ядра Linux
Разработка ядра Linux

В книге детально рассмотрены основные подсистемы и функции ядер Linux серии 2.6, включая особенности построения, реализации и соответствующие программны интерфейсы. Рассмотренные вопросы включают: планирование выполнения процессов, управление временем и таймеры ядра, интерфейс системных вызовов, особенности адресации и управления памятью, страничный кэш, подсистему VFS, механизмы синхронизации, проблемы переносимости и особенности отладки. Автор книги является разработчиком основных подсистем ядра Linux. Ядро рассматривается как с теоретической, так и с прикладной точек зрения, что может привлечь читателей различными интересами и потребностями.Книга может быть рекомендована как начинающим, так и опытным разработчикам программного обеспечения, а также в качестве дополнительных учебных материалов.

Роберт Лав

Программирование, программы, базы данных / Программирование / Книги по IT