1 /* -copyright- 2 #-# 3 #-# xsnow: let it snow on your desktop 4 #-# Copyright (C) 1984,1988,1990,1993-1995,2000-2001 Rick Jansen 5 #-# 2019,2020,2021 Willem Vermin 6 #-# 7 #-# This program is free software: you can redistribute it and/or modify 8 #-# it under the terms of the GNU General Public License as published by 9 #-# the Free Software Foundation, either version 3 of the License, or 10 #-# (at your option) any later version. 11 #-# 12 #-# This program is distributed in the hope that it will be useful, 13 #-# but WITHOUT ANY WARRANTY; without even the implied warranty of 14 #-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 15 #-# GNU General Public License for more details. 16 #-# 17 #-# You should have received a copy of the GNU General Public License 18 #-# along with this program. If not, see <http://www.gnu.org/licenses/>. 19 #-# 20 * 21 */ 22 #pragma once 23 24 #include <X11/Xlib.h> 25 #include <X11/Intrinsic.h> 26 #include <gtk/gtk.h> 27 #include <stdlib.h> 28 #include "xsnow.h" 29 30 31 extern void UpdateFallenSnowPartial(FallenSnow *fsnow, int x, int w); // used in snow.c 32 extern int HandleFallenSnow(FallenSnow *fsnow); 33 extern void fallensnow_init(void); 34 extern void fallensnow_draw(cairo_t *cr); 35 extern void fallensnow_erase(void); 36 extern void fallensnow_ui(void); 37 extern void CleanFallenArea(FallenSnow *fsnow, int x, int w); 38 extern void CleanFallen(Window id); 39 extern void DrawFallen(FallenSnow *fsnow); 40 extern void GenerateFlakesFromFallen(FallenSnow *fsnow, int x, int w, float vy); 41 extern void InitFallenSnow(void); 42 extern void UpdateFallenSnowWithWind(FallenSnow *fsnow,int w, int h); 43 extern int do_fallen(void *); 44 extern void SetMaxScreenSnowDepth(void); 45 extern void UpdateFallenSnowAtBottom(void); 46 47 48 // insert a node at the start of the list 49 extern void PushFallenSnow(FallenSnow **first, WinInfo *win, int x, int y, int w, int h); 50 51 // pop first element 52 extern int PopFallenSnow(FallenSnow **list); 53 54 // remove by id 55 extern int RemoveFallenSnow(FallenSnow **list, Window id); 56 57 // print list 58 extern void PrintFallenSnow(FallenSnow *list); 59 60 // free fallen 61 extern void FreeFallenSnow(FallenSnow *fallen); 62 63 // find fallensnow with id 64 extern FallenSnow *FindFallen(FallenSnow *first, Window id); 65 66