Home | History | Annotate | Line # | Download | only in splash
splash.h revision 1.2.2.1
      1  1.2.2.1  wrstuden /* $NetBSD: splash.h,v 1.2.2.1 2008/06/23 04:31:30 wrstuden Exp $ */
      2      1.1  jmcneill 
      3      1.1  jmcneill /*-
      4      1.1  jmcneill  * Copyright (c) 2006 Jared D. McNeill <jmcneill (at) invisible.ca>
      5      1.1  jmcneill  * All rights reserved.
      6      1.1  jmcneill  *
      7      1.1  jmcneill  * Redistribution and use in source and binary forms, with or without
      8      1.1  jmcneill  * modification, are permitted provided that the following conditions
      9      1.1  jmcneill  * are met:
     10      1.1  jmcneill  * 1. Redistributions of source code must retain the above copyright
     11      1.1  jmcneill  *    notice, this list of conditions and the following disclaimer.
     12      1.1  jmcneill  * 2. Redistributions in binary form must reproduce the above copyright
     13      1.1  jmcneill  *    notice, this list of conditions and the following disclaimer in the
     14      1.1  jmcneill  *    documentation and/or other materials provided with the distribution.
     15  1.2.2.1  wrstuden  * 3. All advertising materials mentioning features or use of this software
     16  1.2.2.1  wrstuden  *    must display the following acknowledgement:
     17  1.2.2.1  wrstuden  *        This product includes software developed by the NetBSD
     18  1.2.2.1  wrstuden  *        Foundation, Inc. and its contributors.
     19  1.2.2.1  wrstuden  * 4. Neither the name of The NetBSD Foundation nor the names of its
     20  1.2.2.1  wrstuden  *    contributors may be used to endorse or promote products derived
     21  1.2.2.1  wrstuden  *    from this software without specific prior written permission.
     22      1.1  jmcneill  *
     23      1.1  jmcneill  * THIS SOFTWARE IS PROVIDED BY THE NETBSD FOUNDATION, INC. AND CONTRIBUTORS
     24      1.1  jmcneill  * ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
     25      1.1  jmcneill  * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     26      1.1  jmcneill  * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS
     27      1.1  jmcneill  * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
     28      1.1  jmcneill  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
     29      1.1  jmcneill  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
     30      1.1  jmcneill  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
     31      1.1  jmcneill  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
     32      1.1  jmcneill  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
     33      1.1  jmcneill  * POSSIBILITY OF SUCH DAMAGE.
     34      1.1  jmcneill  */
     35      1.1  jmcneill 
     36      1.1  jmcneill #ifndef _DEV_SPLASH_SPLASH_H
     37      1.1  jmcneill #define _DEV_SPLASH_SPLASH_H
     38      1.1  jmcneill 
     39      1.1  jmcneill #include "opt_splash.h"
     40      1.1  jmcneill 
     41      1.1  jmcneill #ifdef SPLASHSCREEN
     42      1.1  jmcneill 
     43      1.1  jmcneill #define	SPLASH_CMAP_OFFSET	(16 * 3)
     44      1.1  jmcneill #define	SPLASH_CMAP_SIZE	(64 + 32)
     45      1.1  jmcneill 
     46      1.1  jmcneill struct splash_info {
     47      1.1  jmcneill 	int	si_depth;
     48      1.1  jmcneill 	u_char	*si_bits, *si_hwbits;
     49      1.1  jmcneill 	int	si_width, si_height;
     50      1.1  jmcneill 	int	si_stride;
     51      1.1  jmcneill 
     52      1.1  jmcneill 	void	(*si_fillrect)(struct splash_info *, int, int, int, int, int);
     53      1.1  jmcneill };
     54      1.1  jmcneill 
     55      1.1  jmcneill #ifdef SPLASHSCREEN_PROGRESS
     56      1.1  jmcneill struct splash_progress {
     57      1.1  jmcneill 	struct device *sp_dev; /* XXX needed for config_finalize */
     58      1.1  jmcneill 	int	sp_top;
     59      1.1  jmcneill 	int	sp_left;
     60      1.1  jmcneill 	int	sp_width;
     61      1.1  jmcneill 	int	sp_height;
     62      1.1  jmcneill #define	SPLASH_PROGRESS_NSTATES 5
     63      1.1  jmcneill 	int	sp_state;
     64      1.1  jmcneill 	int	sp_running;
     65      1.1  jmcneill 	int	sp_force;
     66      1.1  jmcneill 
     67      1.1  jmcneill 	struct splash_info *	sp_si;
     68      1.1  jmcneill 	struct callout 		sp_callout;
     69      1.1  jmcneill };
     70      1.1  jmcneill #endif /* !SPLASHSCREEN_PROGRESS */
     71      1.1  jmcneill 
     72      1.1  jmcneill #define	SPLASH_F_NONE	0x00	/* Nothing special */
     73      1.1  jmcneill #define	SPLASH_F_CENTER	0x01	/* Center splash image */
     74      1.1  jmcneill #define	SPLASH_F_FILL	0x02	/* Fill the rest of the screen with
     75      1.1  jmcneill 				 * the colour of the top-left pixel
     76      1.1  jmcneill 				 * in the splash image
     77      1.1  jmcneill 				 */
     78      1.1  jmcneill 
     79      1.1  jmcneill void	splash_render(struct splash_info *, int);
     80      1.1  jmcneill 
     81      1.1  jmcneill #ifdef SPLASHSCREEN_PROGRESS
     82      1.1  jmcneill void	splash_progress_init(struct splash_progress *);
     83      1.1  jmcneill void	splash_progress_update(struct splash_progress *);
     84      1.1  jmcneill #endif /* !SPLASHSCREEN_PROGRESS */
     85      1.1  jmcneill 
     86      1.1  jmcneill #endif /* !SPLASHSCREEN */
     87      1.1  jmcneill 
     88      1.1  jmcneill #endif /* !_DEV_SPLASH_SPLASH_H */
     89