This driver is meant for the monochrome LCD display (model no: LS013B4DN04) from Sharp; but it should be easily adaptable to other Sharp displays.

Dependents:   sharpLCD-demo

Committer:
rgrover1
Date:
Thu Aug 07 14:27:12 2014 +0000
Revision:
3:761d0f489b61
Parent:
0:62d7cfac67ca
minor improvement to the constructor for SharpLCD

Who changed what in which revision?

UserRevisionLine numberNew contents of line
rgrover1 0:62d7cfac67ca 1 /* mbed Microcontroller Library
rgrover1 0:62d7cfac67ca 2 * Copyright (c) 2006-2013 ARM Limited
rgrover1 0:62d7cfac67ca 3 *
rgrover1 0:62d7cfac67ca 4 * Licensed under the Apache License, Version 2.0 (the "License");
rgrover1 0:62d7cfac67ca 5 * you may not use this file except in compliance with the License.
rgrover1 0:62d7cfac67ca 6 * You may obtain a copy of the License at
rgrover1 0:62d7cfac67ca 7 *
rgrover1 0:62d7cfac67ca 8 * http://www.apache.org/licenses/LICENSE-2.0
rgrover1 0:62d7cfac67ca 9 *
rgrover1 0:62d7cfac67ca 10 * Unless required by applicable law or agreed to in writing, software
rgrover1 0:62d7cfac67ca 11 * distributed under the License is distributed on an "AS IS" BASIS,
rgrover1 0:62d7cfac67ca 12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
rgrover1 0:62d7cfac67ca 13 * See the License for the specific language governing permissions and
rgrover1 0:62d7cfac67ca 14 * limitations under the License.
rgrover1 0:62d7cfac67ca 15 */
rgrover1 0:62d7cfac67ca 16
rgrover1 0:62d7cfac67ca 17 #include <string.h>
rgrover1 0:62d7cfac67ca 18 #include <stddef.h>
rgrover1 0:62d7cfac67ca 19
rgrover1 0:62d7cfac67ca 20 #include "font.h"
rgrover1 0:62d7cfac67ca 21
rgrover1 0:62d7cfac67ca 22 /* Externs private to the font subsystem. */
rgrover1 0:62d7cfac67ca 23 /* extern const glyph_t glyphs_DejaVu_Serif_10[]; */
rgrover1 0:62d7cfac67ca 24 /* extern const uint8_t bitmaps_DejaVu_Serif_10[]; */
rgrover1 0:62d7cfac67ca 25 extern const glyph_t glyphs_DejaVu_Serif_9[];
rgrover1 0:62d7cfac67ca 26 extern const uint8_t bitmaps_DejaVu_Serif_9[];
rgrover1 0:62d7cfac67ca 27 extern const glyph_t glyphs_DejaVu_Serif_8[];
rgrover1 0:62d7cfac67ca 28 extern const uint8_t bitmaps_DejaVu_Serif_8[];
rgrover1 0:62d7cfac67ca 29
rgrover1 0:62d7cfac67ca 30 /* Accumulation of all avaialble fonts */
rgrover1 0:62d7cfac67ca 31 const font_face_t fonts[] = {
rgrover1 0:62d7cfac67ca 32 /* { */
rgrover1 0:62d7cfac67ca 33 /* "DejaVu Serif", */
rgrover1 0:62d7cfac67ca 34 /* 10, /\* pointSize *\/ */
rgrover1 0:62d7cfac67ca 35 /* glyphs_DejaVu_Serif_10, */
rgrover1 0:62d7cfac67ca 36 /* bitmaps_DejaVu_Serif_10 */
rgrover1 0:62d7cfac67ca 37 /* }, */
rgrover1 0:62d7cfac67ca 38 {
rgrover1 0:62d7cfac67ca 39 "DejaVu Serif",
rgrover1 0:62d7cfac67ca 40 9, /* pointSize */
rgrover1 0:62d7cfac67ca 41 glyphs_DejaVu_Serif_9,
rgrover1 0:62d7cfac67ca 42 bitmaps_DejaVu_Serif_9
rgrover1 0:62d7cfac67ca 43 },
rgrover1 0:62d7cfac67ca 44 {
rgrover1 0:62d7cfac67ca 45 "DejaVu Serif",
rgrover1 0:62d7cfac67ca 46 8, /* pointSize */
rgrover1 0:62d7cfac67ca 47 glyphs_DejaVu_Serif_8,
rgrover1 0:62d7cfac67ca 48 bitmaps_DejaVu_Serif_8
rgrover1 0:62d7cfac67ca 49 },
rgrover1 0:62d7cfac67ca 50
rgrover1 0:62d7cfac67ca 51 /* sentinel value */
rgrover1 0:62d7cfac67ca 52 {
rgrover1 0:62d7cfac67ca 53 NULL,
rgrover1 0:62d7cfac67ca 54 0,
rgrover1 0:62d7cfac67ca 55 NULL,
rgrover1 0:62d7cfac67ca 56 NULL
rgrover1 0:62d7cfac67ca 57 }
rgrover1 0:62d7cfac67ca 58 };
rgrover1 0:62d7cfac67ca 59
rgrover1 0:62d7cfac67ca 60
rgrover1 0:62d7cfac67ca 61 const font_face_t *
rgrover1 0:62d7cfac67ca 62 lookupFontFace(const char *familyName,
rgrover1 0:62d7cfac67ca 63 unsigned int pointSize)
rgrover1 0:62d7cfac67ca 64 {
rgrover1 0:62d7cfac67ca 65 unsigned fontIndex;
rgrover1 0:62d7cfac67ca 66
rgrover1 0:62d7cfac67ca 67 for (fontIndex = 0; fonts[fontIndex].familyName != NULL; fontIndex++) {
rgrover1 0:62d7cfac67ca 68 if ((strcmp(fonts[fontIndex].familyName, familyName) == 0) &&
rgrover1 0:62d7cfac67ca 69 (fonts[fontIndex].pointSize == pointSize)) {
rgrover1 0:62d7cfac67ca 70 /* found it! */
rgrover1 0:62d7cfac67ca 71 return (&fonts[fontIndex]);
rgrover1 0:62d7cfac67ca 72 }
rgrover1 0:62d7cfac67ca 73 }
rgrover1 0:62d7cfac67ca 74
rgrover1 0:62d7cfac67ca 75 return (NULL);
rgrover1 0:62d7cfac67ca 76 }